备注:#表示数字,.表示当前行,$表示最后一行,+# 向下的#行,$-1倒数减一行
设置行号末行模式 set nu/number
一、在打开文件前
[[email protected] tmp]# vim + inittab
vim + filename 打开文件并处于最后一行
[[email protected] tmp]# vim +10 inittab
vim +# filename 打开文件并定位#行
二、三种模式
命令模式(编辑功能)
录入模式(内容)
末行模式(文件管理功能)
模式切换
编辑模式--->录入模式
i:在光标当前位置前一位插入
a:在光标当前位置后一位插入
I:跳到光标所在行的行首插入
A:跳到光标所在行的行尾插入
o:跳到光标所在行的下一行插入
O:跳到光标所在行的上一行插入
录入--->编辑:
Esc
编辑--->末行:
:
末行--->编辑:
Esc
画的有点丑,哈哈
三、移动光标(命令模式)
单字符移动
左h 右l 上k 下j
多字符移动
w 移动到下一个单词的词首
e 移动到当前或者下一个单词的词尾
b 移动到当前或者上一个单词的词首
#w 移动到#个词的词首
行内移动
0 移动到行首包括空格字符
^ 移动到行首不包括空格字符
$ 移动到行尾包括空格字符
行间移动
G 移动到最后一行的行首
gg 移动到第一行的行首
#G 移动到第#行的行首
末行模式下输入行号
翻屏
ctrl+f下翻一屏
ctrl+b上翻一屏
ctrl+d下翻半屏
ctrl+u上翻半屏
四、编辑功能(命令模式)
删除 d(命令模式)
x 删除光标所在的单个字符
dw 删除光标所在位置以及后面的一个单词
#dw 删除光标所在位置以及以后的#个单词
de 删除光标所在位置以及后面的一个单词
dd 删除光标所在位置的一行
#dd 删除光标所在位置的一行以及以及以下共#行
末行模式下 7,8 d 删除7到8行内容
vim最近删除的n个内容将不会被立即清空,而是存在缓冲区
粘贴 p(命令模式)
p:如果删除或者复制为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴在所在字符的后面
P:如果删除或者复制为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴在所在字符的前面
复制 y (命令模式)
yw 复制光标所在位置以及后面的一个单词
#yw 复制光标所在位置以及以后的#个单词
ye 复制光标所在位置以及后面的一个单词
yy 复制光标所在位置的一行
#yy 复制光标所在位置的一行以及以及以下共#行
删添 c(先删除内容,并直接转换为输入模式)
cw 删改光标所在位置以及后面的一个单词
#cw 删改光标所在位置以及以后的#个单词
ce 删改光标所在位置以及后面的一个单词
cc 删改光标所在位置的一行
#cc 删改光标所在位置的一行以及以及以下共#行
替换 r(命令模式)(只能替换单个字符)
R 替换多个字符
撤销(命令模式)
u 撤销上一次操作
U 撤销所有
#u 可撤销此前的#次操作(最多50次)
ctrl r 撤销最近的一次撤销操作
查找(末行模式)
/ 顺着找
? 倒着找
n 顺着再一次
N 倒着在一次
可视化模式
v 按字符选取
V 按矩形块选取
查找并替换 s(末行模式下)
startaddr,endaddrs///g或gi(g:全局替换 i:忽略字符大小写)