一、使用hjkl移动光标
左:h 下:j 上:k 右:l
Ctrl + f (forward)往前翻一页
Ctrl + b (backward)往后翻一页
Ctrl + d (down)往前翻半页
Ctrl + u (up)往后翻半页
motion表示操作范围的指令如
0 将光标定位到行首位置
^ 同上
$ 将光标定位到行尾的位置
b 将光标定位到光标所在单词的起始处
e 将光标定位到光标所在单词的结尾处
w 将光标定位到下一个单词的起始处
gg 将光标定位到文件的开头
G 将光标定位到文件的末尾
二、插入模式和退出方法
i 在光标的前边进入插入模式
I 在光标所在行行首进入插入模式
a 在光标的后面进入插入模式
A 在光标所在行行尾进入插入模式
o 在光标所在行的下方插入一行并进入插入模式
O 在光标所在行的上方插入一行并进入插入模式
s 删除光标指定的字符并进入插入模式
S 删除光标所在行并进入插入模式
esc 退出插入模式
:w 保存文件
:q 退出文件
:qw 保存并退文件出
:q! 不保存退出
ZZ 或者 shift + zz 保存并退出文件
:x 保存并退出文件
三、删除命令、数字的使用、撤销和恢复命令
x 删除光标所在的单一字符
d 删除多字符 d后面加数字
d0 删除光标从当前位置(不包含)到该行行首的所有字符
d^ 同上
d$ 删除从光标当前位置(包含)到该行行尾的所有字符
db 删除光标从当前位置(不包含)到单词起始处的所有字符
de 删除光标从当前位置(包含)到单词结尾处的所有字符
dw 删除从光标当前位置(包含)到下一个单词起始处的所有字符
dh 删除光标前边一个字符
dl 删除光标指定的字符
dj 删除光标所在行以及下一行的所有字符
dk 删除光标所在行以及上一行的所有字符
dd 删除光标所在行的所有字符
dgg 删除光标所在行到文件开头的所有字符
dG 删除光标所在行到文件末尾的所有字符
数字 + motion 表示执行数字多个motion指令,如8h为向左移动8个字符
d + 数字 + motion 表示删除多个motion范围
3dd 或4dd 等表示删除光标所在行以及往下三或四行
u 表示撤销最后一次修改
U 表示撤销对整行的修改
Ctrl + r 恢复撤销的内容
四、粘贴命令、替换命令、替换模式和修改命令
删除命令也是剪切命令
y (yank提起)复制命令
y + motion 复制的范围如
在v模式选定整块时y复制整块
yy复制整行
y0 复制当前到行头
y$ 复制当前到行尾
yw 复制一个词 nyw或ynw 复制n个词
ygg yG 同理
p 将内容粘贴到光标后
P (大写)将内容粘贴到光标前
如果粘贴的内容是行那么他会另起一行然后再粘贴,不是行就不会另起
r 替换光标所在字符,输入新的字符
如果r前面有数字那么他会从光标处开始把n个字符统一替换为新字符,n为数字
R 进入替换模式,用退格键撤销替换
c 修改命令 c [数字] motion
c0 c$ cb ce cw ch cl cj ck cc 删除并进入插入模式
五、文件信息、跳转和定位符号
Ctrl + g 查看文件信息
行号 + G 跳转到指定行
:行号 跳转到指定行
% 定位括号,找到括号的另一半
右缩进
<< 左缩进
数字 + >> n行缩进,反缩进同理
或者用v + >块缩进
六、搜索命令和替换命令
/ + 要搜索的字符串 从光标向后搜索,n或者N 查找下一个或上一个
? + 要搜索的字符串 从光标向前搜索,n或者N 查找下一个或上一个
:nohl 去掉高亮
10个特殊字符不能直接搜,要用转义字符反斜杠
. * [ ] ^ % / ? ~ $
😒/被替换的字符串/新字符串 搜索指定字符串替换,只替换找到的第一个相同的
😒/被替换的字符串/新字符串/g 搜索指定字符串替换,替换光标所在行所有相同的
:%s/被替换的字符串/新字符串/g 搜索指定字符串替换,替换全文中相同的
:%s/被替换的字符串/新字符串/gc 搜索指定字符并替换,替换前询问你
y替换 n不换 a替换所有 q放弃替换
:4,12s/被替换的字符串/新字符串/g 替换4到12行之间相同的
七、执行shell命令、和文件另存为和文件合并
:! 在vim中执行终端命令
:w 新文件名 文件另存为
v进入可视模式选中要另存的内容执行指令
:w 新文件名 可将局部内容另存
:w! 文件名 覆盖并保存
打开文件,光标移到末尾执行
:r 另一个文件名 合并文件内容
打开多个文件
-o 垂直并排
-O 水平并排
如 vim -o file1 file2 打开两个文件垂直并排显示
ctrl + w + w 将光标切换到下一个文件
对于垂直并排 ctrl + w + 上、下方向键切换文件
对于水平并排 ctrl + w + 左、右方向键切换文件
退出文件方法与退出一个文件方法相同,如需要全部退出则在代码后加a,如
:wqa 保存并退出所有文件
:qa! 不保存退出所有文件
1946

被折叠的 条评论
为什么被折叠?



