vim模式:
编辑模式
输入模式
末行模式
模式转换
编辑-->输入
i:在当前光标所在字符前,转为输入模式
a:在当前光标所在字符后,转为输入模式
o:在当前光标所在行下方,插入一行,转为输入模式
I:在当前光标所在行首,转为输入模式
A:在当前光标所在行尾,转为输入模式
O:在当前光标所在行上方,插入一行,转为输入模式
输入-->编辑
ESC
编辑-->末行
:
一、打开文件
#vim /path/to/somefile
vim +#:打开文件并定位到底#行
vim + :打开文件并定位到最后一行
vim +/PATTERN:打开文件,定位至第一次被PATTERN匹配的行首
二、关闭文件
1、末行模式下关闭文件
:q 退出
:wq 保存退出
:w 保存
:w! 强制保存
:x 保存退出
2、编辑模式下退出
zz:保存并退出
三、移动光标
1、逐字符移动
h:左
l:右
j:上
k:下
2、以单词为单位移动
w:移植下一个单词的词首
e:跳至下一个单词的词尾
b:跳至当前或前一个单词的词首
#w:跳至#个单词后的词首
3、行内跳转
0:跳转至行首
^:行首的第一个非空白字符
$:跳至行尾
4、行间跳转
#G:跳转至第#行
G:跳转至最后一行
四、翻屏
ctrl+f:向下翻一屏
ctrl+b:向上翻一屏
ctrl+d:向上翻半屏
ctrl+u:向上翻半屏
五、删除单个字符
x:删除光标所在处的单个字符
#x:删除光标所在处及之后的#个字符
六、删除命令
#dw:向后删除#个单词
#db:向前删除#个单词
dd:删除当前所在行
#dd:删除#行
末行模式下:1,100d 表示删除第1-100行
:1,$d 表示删除文件中所有内容
七、粘贴
p:如果删除或复制为整行内容,则粘贴在光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面
P:如果删除或复制为整行内容,则粘贴在光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面
八、复制命令
y,用法同d命令
九、替换模式
R:进入替换模式
十、撤销编辑操作
u:撤销前一次操作
#u:撤销前#次操作
十一、可视化模式
v:按字符选取
V:按矩形选取
十二、查找
/PATTERN
n:查找下一次
十三、查找替换
在末行模式下,使用s命令
ADDR1,ADDR2s/PATERN/string/g
十四、使用vim编辑多个文件
vim FILE1 FILE2 FILE3
:next 切换到下一个文件
:prev 切换到上一个文件
:last 切换到最后一个文件
:first 切换到第一个文件
退出 :qa退出全部
十五、分屏显示
ctrl+w, s:水平拆分窗口
ctrl+w, v:垂直拆分窗口
在窗口见切换光标
ctrl+w, ARROW
:qa关闭所有窗口
十六、分窗口显示多个文件
vim -o:水平分割显示
vim -O:垂直分割显示
十七、将当前文件中部分内容另存为另一个文件
末行模式下使用w命令
:w
:ADDR1,ADDR2w /path/to/somewgere
十八、将另一个文件内内容填充至当前文件
:r /path/to/somefile
十九、和shell交互
:! COMMAND
二十、显示行号
:set nu 显示行号
:set nonu 关闭行号
:set ic 忽略区分大小写
:set ai 自动缩进
:syntax on 开启语法高亮
:syntax off:关闭语法高亮
二十一、配置文件
/etc/vimrc
~/.vimrc