Vim从vi衍生而来,可仅仅通过键盘在插入、命令行等模式间切换,大大增加文字录入员或程序员的效率。Vim有6种基本模式(和5种派生模式)。普通模式、插入模式、可视模式 (移动命令会改变高亮区域)、选择模式、命令行模式、Ex模式。
一、vim基础命令
三种模式切换:ESC, i或a, :wq q q!
1.普通模式
进入插入模式:
i 光标前处进行编辑 a 光标后
I 行首插入 A 行末
O 当前行前插入一个新行 o 当前行后
移动光标:
hjkl 对应 左下上右
gg 到第一行 G 到最后一行 (前面都可加数字)
b 到前一个单词的开头
e 到当前单词的结尾
w 到下一个单词的开头
^ 到行头 $ 到行尾
F<字母> 向前搜索<字母>并跳转到第一个匹配的位置
f<字母> 向后……
快速缩进:
>> 将整行向右缩进 << 整行向左回退
快速查找:
/ 字符串 (向下查找) n 查找下一个找到的字符串
? 字符串 (向上查找) N 查找上一个……
noh 取消搜索
复制粘贴:
nyy 复制n行
y^ 复制至行首(不包含光标处字符) y$ 至行尾(含光标处字符)
ynw 复制n个单词
yG 复制至文本末 y1G 复制至文本开头
p 粘贴在光标后 P 光标前
dd删除命令其实就是剪切
替换和撤销:
r+<待替换字母> 将游标所在字母替换为指定字母
cc 替换整行(删除并进入插入模式)
cw 替换一个单词
C 替换游标以后至行末
nu 撤销n次操作 U 撤销当前行的所有修改
ctrl+r 反撤销
~ 大小写转换
删除文本信息:
nx 删除游标所在的n个字符
dd 删除一行(前面可加数字) dnw 删除n个英文单词
d^ 删除至行首 d$或D 删除至行尾
d1G 删除至文档首部 dG 删除至结尾
退出vim:shift+zz 保存并退出
2.插入模式
3.命令行模式
退出vim:
W 保存文档 w <filename> 另存为其他(路径下的)文件名
q! 强制退出,不保存 wq!
缩进:
set shiftwidth? 获取当前的缩进字符数
set shiftwidth=10 设置为10
:le 使本行内容靠左 :ce 居中 :ri 靠右
二、vim高级功能
1.多文件编辑
vim 1.txt 2.txt
默认进入1.txt的编辑页面,命令行输入:n编辑2.txt,可用:n!强制切换,同理大n(N)是切换到前一个文件
2.可视模式+视窗操作
3.创建加密文档
vim -x file1
4.在vim执行外部的命令
在命令行输入!可以执行外部的shell命令,如!ls,!rm filename,w filename
5.帮助系统
普通模式:F1
命令行::h shiftwidth 打开shiftwidth帮助文件 :ver 显示版本及参数
6.功能设定
可在编辑文件时进行功能设定,如命令行模式下输入:set nu(显示行数),设定值退出vim后不会保存,要修改vim配置文件后才能永久保存。
Vim的配置文件~/.vimrc