分享 初学者连载系列之八:VIM 党来啦!VIM 常用操作技巧

kevinhua · 发布于 2012年04月06日 · 最后由 jinleileiking 回复于 2012年05月02日 · 2838 次阅读
21

系列文章原载于自己的博客,TOPI.CO (http://topi.co) ,某天不小心就push错啦,懒得从头再来,上传到Ruby-China来,一是方便自己回顾,另外也方便跟我一样的初学者

Vim的操作除了基本的hjkl (即上​​下左右)之外,快速键组合相当多,不过大概有个规则。下面列出了我自己认为会经常使用的,而且觉得比较方便的操作技巧,好记性不如烂笔头,写起来帮自己加深记忆,希望也对有需要的朋友有帮助。

###说明

ENTER = 按下enter键,CTRL = 按下ctrl键,ALT = 按下alt键,如果是大写字母例如G = shift + g,CTRL wj = 按着ctrl键不放,再按下w,再按下j

这里提到的都是Vim或是plugin内建的指令,如果你不喜欢或觉得难按,可以透过修改.vimrc来改变快速键的对映以下指令都是在一般模式(Normal Mode)下使用。

###游标移动

gg = 移到整份文件的最上方

G = 移到整份文件的最下方

H = 移到目前萤幕的最上方

L = 移到目前萤幕的最下方

5 ENTER = 游标往下移动5行,前面的数字表示行数

:5 ENTER = 游标直接移动到第5行

{} = 把游标移动到上一个、下一个段落

建议可以搭配EasyMotion 更有效率的移动游标

###搜索

/ = 搜索

* = 移往下一个搜索结果

# = 移往上一个搜索结果

:%s/text1/text2 = 搜索所有行的text1,并替换为text2,但每行只作1次替换

:%s/text1/text2/g = 同上,但没有任何限制,即全文完成所有替换

###编辑

u = undo,回到上一步

CTRL r = redo,回复undo

. = 重复上一个步骤

~ = 改变当前英文字母的大小写,本来大写会变小写,小写会变大写

:m+ = 把目前这一行往下移动一行,相当于Excel的剪切并插入行

:m-2 = 把目前这一行往上移动一行,相当于Excel的剪切并插入行

>><< = 增加、减少缩排

Y = 复制游标所在的这一整行

P = 在游标之后、之前贴上复制的内容

dd = 删除当前行

###模式切换

ESC = 回到命令模式,ESC是独立一颗比较好按,但比较远,如果你不想让你的手离开打字区的话,可以选用CTRL [,或是在~/.vimrc里自订快速键

CTRL v = visual block模式,可进行像TextMate按住alt键的区块选取

###使用Scriptin简化替换操作

可以预先编写好需频繁执行的操作,并保存。(例如,存为test.script)

vim abc.txt -s test.script = 对abc.txt文件执行test.script脚本中的命令。

###其它

:! = 执行外部指令,例如:!ls则是执行ls指令,可以方便地查看当前目录下目录和文件。

共收到 5 条回复
96

收藏功能貌似没有用,我回复标记下~

96

:help quickref ~~(づ ̄3 ̄)づ

1765

同ls。。

77

我现在才知道原来可以通过 :help quickref 来查看所有操作说明

96

#2楼 @ekim_sgra 好吧,我也土了!!

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册