vim编辑器相当于Windows下的word和wps等可用来编辑文本的软件,之所以在开发工作中需要会使用vim编辑器,是因为Vim可实现跨平台编辑文本,无论在Mac,Windows上,还是服务器平台上,配置文件大同小异,操作习惯基本相同。
和Windows下的编辑器不一样的是,vim的基本操作都是以键盘命令为主。在初次使用时与日常的鼠标操作有很大的不同,但是使用习惯后,你会爱上这种帅气且高效的编辑方式。
vim编辑器的文本操作是在不同模式下进行的。可分为normal模式或者命令模式,编辑模式(vim底部出现--INSERT--字符),底部命令模式(vim底部有冒号:)。
注:编辑模式和底部命令模式之间切换时,需要先按Esc回到normal模式。为解决模式切换的问题,我的习惯是,每次操作都按Esc,然后根据vim底部提示知晓当前模式。
normal模式:通过vim filename命令打开文件,进入该模式,也可叫命令模式,在此模式下,任何的键盘操作被视为命令,即在vim的Normal模式下,所有的键均为功能键。其他模式按Esc键回到该模式。
在此模式下,常用命令有:
-
光标移动:
-
h左移光标一个字符 -
l右移光标一个字符 -
k光标上移一行 -
j光标下移一行 -
^/ 数字0/home键 光标移动至段首 -
$/end键 光标移动至段尾 -
gg/{光标移至文章的开头 - 大写字母
G/}光标移至文章的最后 -
nG移动到第n行的行头,n代表数字 -
w光标跳到下个字的开头 -
b光标回到上个字的开头 -
Ctrl+f向前翻屏 -
Ctrl+b向后翻屏 -
Ctrl+d向前翻半屏 -
Ctrl+u向后翻半屏
-
-
删除文字:
-
x每按一次,删除光标所在位置后面的一个字符。nx表示删除多个字符。eg:6x表示删除光标所在位置后面的6个字符 -
X大写的X,每按一次,删除光标所在位置前面的一个字符。nX表示删除多个字符 -
dd删除光标所在行。ndd表示删除多行
-
-
复制、粘贴文字:
-
yy复制光标所在行到缓冲区。nyy表示复制多行。eg:6yy表示拷贝从光标所在的该行“往下数”6行文字
-
除了整行复制,还可以像Windows下一样,选中复制。选中复制分为两种:
1.按v进入可视化模式(vim底部出现--VISUAL--字符)。进入可视化模式之后,移动光标到指定位置,即选中光标开始和结束位置内容,按y键,将选中内容存到vim缓冲区。
2.按Ctrl + v进入可视化块模式(vim底部出现--VISUAL BLOCK--字符),进入这个模式可以配合光标的上下左右移动,在文本中选取文本块进行复制。
-
ppaste,将vim缓冲区内的字符贴到光标所在位置
注:所有与
y有关的复制命令都必须与p配合才能完成复制与粘贴功能。
- 查找文字:
-
/texttext为需要查找的文本 -
n向后查找下一个 -
N向前查找下一个
-
注:替换在底部命令模式中完成
- 撤销:
-
u撤销上次操作
编辑模式:从normal模式按i/(小写字母)o/(大写字母)O等都可进入该模式,进入该模式后vim底部出现--INSERT--字符。在该模式下可进行文档编辑操作,与word类似。
注:在该模式下对文档进行编辑后,要进入底部命令模式对文档进行保存
进入该模式的方式:
-
i在光标处插入
一个小技巧:按8,再按i,进入编辑模式,输入=, 按两次Esc进入命令模式,就会出现8个=。 这在插入分割线时非常有用,如30i+两次Esc就插入了36个+组成的分割线。
- 小写字母
o在光标所在行下面新建一行插入 - 大写字母
O在光标所在行上面新建一行插入
底部命令模式:在normal模式下按冒号:,进入该模式。此时,vim底部出现冒号:,即可在冒号:后键入命令,按Enter后生效。
在此模式下,常用命令有:
-
w保存 -
q退出 -
wq保存退出 -
q!强制退出,不保存 -
set nu显示行号 -
pwd显示vim的工作目录 -
w filename存入文件filename中,即另存为 -
set mouse=a可用鼠标选中文本,选中文本后,vim底部出现--VISUAL--字符,进入可视化模式,后与y和p配合完成复制粘贴 -
set mouse=v可用鼠标选中文本,与word类似,与鼠标右键配合完成复制粘贴 -
s/old/new将光标所在行第一个 old 替换为 new -
s/old/new/g将光标所在行所有 old 替换为 new -
%s/old/new/gc全文执行替换,询问是否替换 -
3,10s/old/new/gic将第3行到第10行内容替换,忽略大小写,且每个询问是否替换