程序员人生 网站导航

Vim文本编辑器 常用指令大全 提升编程效率必备法宝之一

栏目:互联网时间:2014-10-08 08:00:00

经常处理文本以及经常需要写代码的人,都会有自己比较常用的编辑器,本人喜欢用Vim,理由就是Vim编辑器灵活,并且可以达到纯键盘操作,使用纯熟情况下,根本不需要鼠标操作,听起来是不是很酷的?不过别高兴太早,想达到那个境界必须的指令是需要学习+记忆+练习的。总结指令如下:

1(motion)

fx 向后 移动到搜索字母上,x 可以是任意一个字母

tx 向后 移到搜索字母的左边 (这真的很有用)

Fx 向前 移到搜索字母上  

Tx 向前 移到搜索字母的左边

; 重复上面四种命令 ,也是重复命令 不过方向取反

. 重复上一个操作

以上命令都是在本行移动

,. 当前行 ,%当前文件

gd to definition of the current word

 

w:上一个词。b:下一个词。(nonword的特殊字符作为word的边界,如.,-

W 上一个词 B 下一个词 (以空格作为word的边界)又称长单词

e: 下个词的最后一个字母 ge 上个词的最后一个字母

0:移动光标到当前行首。

gm 移动到行正中

$:移动光标到行尾。

2$ 下一行行尾

^:移动光标到当前行的第一个字母位置。

) ( 移动光标到上/下一个句子。

{ } pre/next paragraph

[{ ]} begin/end of block

[[ ][ 代码块的开头和结尾 假设{}位于第一列的情况下成立

[( ]) 括号范围内前后移动

gD 跳转到局部变量的定义处

gg:到文件首 G:到文件尾

numG:移动光标到指定的行(num)(比如 10G 就是到第 10 )

H:移动光标到屏幕上面M:移动光标到屏幕中间L:移动光标到屏幕下面 当前屏幕的操作

nH 光标到当前屏幕的第n

nL 光标到当前屏幕的倒数第n

zt scroll to top

zz scroll to middle 有用 把当前编辑行置于屏幕中间

zb scroll to bottom

ctr+B/b ctr+F/f pre/next page

ctr+U/u ctr+D/d pre/next half page

ctr+e ctr+y /下滚一行

*:读取光标处的单词,并且移动光标到它再次出现的地方。

#:读取光标处的单词,并且移动光标到它上次出现的地方。

g* 它不完全匹配光标所在处的单词,而是匹配包含该单词的所有字符串

g# 它不完全匹配光标所在处的单词,而是匹配包含该单词的所有字符串

 

2.searching

+ - 下一行的开始 上一行的开始(非空)

% matching parenthesis

/text:从当前光标处开始搜索字符串 text,并且到达 text 出现的地方。必须使用回车来开始这个搜索命令。如果想重复上次的搜索的话,按 n

?text:和上面类似,但是是反方向。

/搜索完整的text单词

/ab{3,5} b匹配3-5

{0,1}匹配01 =一样

{0,} 匹配0次或多次 *一样

{1,} 匹配1次或多次 +一样

{3} 匹配3

/ab{-1,3} 将会匹配abbb中的ab 意思是尽可能的避免重复

/a.{-}b 其中{-}匹配前面的项一次或0 尽可能地少 一般这个模式本身只可能匹配到0 因此 这个命令 只会匹配到axbxb中的axb

/a.*b 则会尽可能多的匹配 因而对于axbxb 会匹配整个的axbxb

/the word 匹配以the结束而且下一行以word开始的行

\_s 匹配空格或断行

/the\_sword the word 之间有空格或断行

/du{3}d{3} 匹配一个数字 三个大写字母 单个数字

/joe/s-2 所查找之处往前两个字符

搜索完按n重复上次查找 N逆向上次查找

3n 向下搜索第三个

ma`a mark/jump to a 'a 转到标记所在的行头(行头)

`.

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐