1. 简介
工作中需要用到vim,所以参考其他推荐,先跟着vim自带的教程vimtotur学习了一下vim的基本使用技巧。目前暂时仅总结常用的快捷键。还不涉及到.vimrc的配置,进阶版的<Vim实用技巧>也等后续看完再做总结。
2. 基本操作:移动、插入
vim的移动(有些可结合数字,如2w,3j):h
左;j
下;k
上;l
右;0
移动至行首;$
移动至行尾;w
移动到下一个单词的起始位置;e
移动到该单词的末尾位置gg
跳转至文件头;G
跳至文件尾:10
表明调到第10行
vim插入的几种方法有:i
光标处插入;a
光标后插入;A
该行末尾插入;o
光标下一行插入;O
光标上一行插入;
3. 删除、替换:
x
删除单个字符
vim的删除动作d结合不同的motion,会有不同效果:dw
从光标处删除到下单词起始处de
从光标处删除到该单词末尾d0
/d$
删除该行起始位置到光标处;删除光标到该行末尾;dd
删除整行dgg
/dG
从文件起始位置删除到光标位置;从光标处删除至文件尾;
另外,最后一次的删除内容会保存在剪切板内,此处如果进行粘贴,则相当于剪切的效果。
vim的修改:r
仅替换光标处的单个字符;R
替换多个字符,此时进入插入模式;cw
改变光标处到该单词末尾的内容,相当于先删除,然后进入插入模式;(同d的使用,还有ce,c0,c$,cgg,cG)
4. vim复制、粘贴、替换、查找、撤销、反撤销:
vim 使用 y
进行复制(y后面可跟上移动光标的指令,也可在可视模式下选择多行),p
进行粘贴。/
从光标往后查找,?
从光标往前查找。查找后,n
跳至下一个,N
跳上一个;%
匹配括号;u
:撤销上一次操作;U
:将该行恢复到最开始的情况(只能恢复前一个操作的所在行;如果在这之前还有其他行有修改,则其他行不可被U
恢复);ctrl+r
:前进,即取消上一次的撤销操作;
vim的替换稍微复杂一些,主要用到::s/old/new
:将该行第一个匹配的old改成new;:s/old/new/g
:将该行的所有 old 改成 new;:%s/old/new/g
:将文件中的所有 old 改成new;:%s/old/new/gc
:替换时询问
5. 其他
通过按键v
,进入可视视图。此时通过移动光标可选择多行,然后即可进行删除、复制等操作;也可通:>w file
输出到文件中
:!ls
:!可以让vim执行外部命令,如ls,pwd等指令:r file_name
可以读取文件内容。 :r !ls
可以读取ls命令输出的内容,并写入文件内
6. 一些简单设置:
:set ic(noic)
设置大小写忽略,大小写敏感;:set hlsearch is
设置查找时的高亮:set nu(nonu)
显示行号,不显示行号