Vim 部分常用快捷键
背景
本文记录学习vim过程中,常用到的一些快捷键
1. 将一个文件A的某几行拷贝到另一个文件B中。
- 首先输入命令
vim A,进入文件A中 - 起始为正常模式,通过命令
:sp或:vsp切分一个窗口(sp为上下切分;vsp为左右切分,v表示的是垂直的意思vertical),需要注意这时两个窗口都是文件A的内容 - 输入
:e B,表示在其中一个窗口打开B文件,这是光标自动进入到B文件 - 切换到源文件(切换时control+w 再按一下w)
- 光标移动到要拷贝的首行,输入一个想要拷贝的行数数字,然后yy,暂存在寄存器中
- 通过上述的切换方法(切换时control+w 再按一下w),再切换回文件B,通过
p粘贴,完成拷贝
2. 有选择的保存
光标移动到某行,按v进入visual模式,光标移动到想存的最后一行,按:,之后w filename,回车,将这几行写入到filename里
当前文件插入其他文件的内容,光标到某位置,按:r filename,再此处插入filename的内容
如果用:r !command可以将命令的输出结果放置到指定位置
3. 关于复制与粘贴
visual模式选中 y 复制(yank,提起)
yw 可以复制一个单词
p 粘贴(put,放置)
4. 删除
x 删除一个字符
dw 从光标处删除到下个单词的起始
de 删除到单词末尾
d$ 从光标删除到行末
dd 删除整行
[x]dd 删除x行
ce 可以删除某个单词到结尾,并进入编辑模式
想要从某行删除到结尾,则先跳到结尾,然后输入:STARTLINE,. d, 这里STARTLINE为要删除的第一行
5. 插入或进入编辑模式
o 在光标下一行插入新一行并编辑
O 在上一行插入新的一行进行编辑
a 光标后开始编辑
A 结尾开始编辑
6. 移动光标
数字+w/e 光标移动,分别代表前移x个单词和前移到第x个单词末尾,0可以回到行首
d和w/e 之间也可以有数字
e 移动到单词尾
w 移到单词首
0 回到行首
7. 撤销
u 撤销最后一次修改
U 撤销整行修改
CTRL+R 可以撤销已实施的撤销操作
8. 查找与替换
/string 查找string, n查找下一个,N反向查找。如果逆向查找(从下向上查)用?string代替/string。另外通过CTRL+o回到之前的位置,CTRL+i转到新位置
:s/old/new/ 替换第一个old为new
:s/old/new/g 整行替换
:x,#s/old/new/g 从x行到#行替换
:%s/old/new/g 整个文件的替换
:%s/old/new/gc 每次替换都要询问一下
r + 一个新字符,可以将光标原来所处的位置置换为新字符
(举例:光标处于apple的a上,现在在正常模式下,按r,再按b键,apple将变为bpple)
R 功能同r,只是直接进入到替换模式,将替换之后的所有字符直到通过esc回到正常模式
9. 关于行号
CTRL+g 查看行号
gg 到文件首行
G 到文件末尾行
行号 + G 到指定行
10. 其他
删除后再按p 会将最后一次删除的内容,置于光标处
% 匹配括号
:! command 执行外部command
:w filename 将文件写成一个新filename

浙公网安备 33010602011771号