每日一vim(16-17)Visual模式

来源:互联网 发布:lee levis 知乎 编辑:程序博客网 时间:2024/05/16 10:01

Vim的Visual模式(中文称之为可视化模式)可以对所选择的文本进行各种操作,Virsual模式可以分为三种,分别是**字符(Characters)、行(line)、矩形块(rectangular block)**,既然是Visual模式,肯定是和字母v相关的操作,前面的一些篇章也用到过v模式(说到V,让我想起一篇文章《中国黑客传说:游走在黑暗中的精灵》,看完我这篇短文后不妨去看看那篇文章,挺有意思的,链接在文章最后)。

viwc

今天呢,就只讲一点点有关V模式的用途吧,在windows中替换一个单词惯用的手段就是先找到这个单词,鼠标双击该单词,选中之后直接输入新的单词就Ok了,但是使用Vim,你就应该摒弃鼠标,甚至四个方向键也不要去碰。那么在Vim中,概括起来就是四个字<E>f{char}viwc(请看小标题,这里貌似有十多个字儿,且慢,一个个解析下:<E>:Esc,进入normal模式,f:查找字符串,当然还可以用“;”或者“,”继续往后或往前找,v:visual模式,iw:选中整个单词,c:删除单词,进入插入模式),这样整个单词就会删除,接着就可以插入你想替换的单词了。其次,在Visual模式下,hjkl光标移动的键同样是可用的。对了,在normal模式下“.”可以重复执行上一次操作,有点象Python中的下划线“_”表示最后一个表达式的值一样。例如你最后执行的命令dd,那么按“.”就会继续删除当前行。(以后如果突然想起一个实用的东东,如果前面没介绍过的,我就顺便查到文章里头了)。


viwc : v->visual . i->inside . w->word . c->change

另附:为了彻底甩掉对四个箭头移动光标的依赖,在.vimc文件中可配置:

nnoremap <up> <nop>nnoremap <left> <nop>nnoremap <right> <nop>nnoremap <down> <nop>

中国黑客传说:游走在黑暗中的精灵。


Visual 模式的三种子模式(基于字符,行,块)可以对不同文本域进行处理,这一小节看看如何使用这三种模式以及他们之间如何切换。

字符可视化模式可以对任何单个字符或字符串甚至是多行进行处理,通常适用于处理单词或者词组,如果是想处理整行,那么就可以使用(line)行可视化模式,*块可视化* 则可以对文档区域操作,支持列操作。normal 模式下,命令对应的Visual表如下:

v         基于字符的Visual模式V         基于行的Visual模式Ctrl+v    基于块的Visual 模式gv        重新选取最后一次使用Visual模式选中的文本

Visual模式之间的切换

如果当前是在字符Visual模式下,V就能切换到基于行的Visual模式,Ctrl+v就是切换到基于块的Visual模式下,来回的按v能在normal模式和字符Visual模式下切换。此规则同样适用与另外两种Vrsual模式。



0 0