vim 常用快捷键
一、移动光标
- 左移
h、右移l、下移j、上移k - 向下翻页
ctrl + f,向上翻页ctrl + b - 向下翻半页
ctrl + d,向上翻半页 `ctrl + u - 移动到行尾
$,移动到行首0(数字),移动到行首第一个字符处^ - 移动光标到下一个句子
),移动光标到上一个句子( - 移动到段首
{,移动到段尾} - 移动到下一个词
w,移动到上一个词b - 移动到文档开始
gg,移动到文档结束G - 移动到匹配的
{}.().[]处% - 跳到第 n 行
ngg或nG或:n - 移动光标到屏幕顶端
H,移动到屏幕中间M,移动到底部L nH、nL移动到距离屏幕顶部和顶部n行的位置- 读取当前字符,并移动到本屏幕内下一次出现的地方
* - 读取当前字符,并移动到本屏幕内上一次出现的地方
#
二、查找替换
- 光标向后查找关键字
#或者g# - 光标向前查找关键字
*或者g* - 当前行查找字符
fx, Fx, tx, Tx - 基本替换
:s/s1/s2(将下一个 s1 替换为 s2 ) - 全部替换
:%s/s1/s2 - 只替换当前行
:s/s1/s2/g - 替换某些行
:n1,n2 s/s1/s2/g - 搜索模式为
/string,搜索下一处为 n,搜索上一处为 N - 制定书签
mx, 但是看不到书签标记,而且只能用小写字母 - 移动到某标签处
`x,1旁边的键 - 移动到上次编辑文件的位置
`.
PS:. 代表一个任意字符 * 代表一个或多个字符的重复
三、编辑操作
- 光标后插入
a行尾插入A - 后插一行插入
o,前插一行插入O - 删除字符插入
s, 删除正行插入S - 光标前插入
i,行首插入I - 删除一行
dd,删除后进入插入模式cc或者S - 删除一个单词
dw,删除一个单词进入插入模式cw - 删除一个字符
x或者dl,删除一个字符进入插入模式s或者cl - 粘贴
p,交换两个字符xp,交换两行ddp - 复制
y,复制一行yy - 撤销
u,重做ctrl + r,重复. - 智能提示
ctrl + n或者ctrl + p - 删除motion跨过的字符,删除并进入插入模式
c{motion} - 删除到下一个字符跨过的字符,删除并进入插入模式,不包括 x 字符
ctx - 删除当前字符到下一个字符处的所有字符,并进入插入模式,包括 x 字符
cfx - 删除motion跨过的字符,删除但不进入插入模式
d{motion} - 删除motion跨过的字符,删除但不进入插入模式,不包括x字符
dtx - 删除当前字符到下一个字符处的所有字符,包括x字符
dfx - 如果只是复制的情况时,将
12-17条中的c或d改为y - 删除到行尾可以使用
D或C - 拷贝当前行
yy或者Y - 删除当前字符
x - 粘贴
p - 可以使用多重剪切板,查看状态使用
:reg,使用剪切板使用”,例如复制到w寄存器:”wyy,或者使用可视模式v”wy - 重复执行上一个作用使用
. - 使用数字可以跨过 n 个区域,如
y3x,会拷贝光标到第三个 x 之间的区域,3j 向下移动 3 行 - 在编写代码的时候可以使用
]p粘贴,这样可以自动进行代码缩进 >>缩进所有选择的代码< <反缩进所有选择的代码gd移动到光标所处的函数或变量的定义处K在man里搜索光标所在的词- 合并两行
J - 若不想保存文件,而重新打开
:e! - 若想打开新文件
:e filename,然后使用ctrl + ^进行文件切换
四、窗口操作
- 分隔一个窗口
:split或者:vsplit - 创建一个窗口
:new或者:vnew - 在新窗口打开文件: `:sf {filename}
- 关闭当前窗口
:close - 仅保留当前窗口
:only - 到左边窗口
ctrl + w, h - 到右边窗口
ctrl + w, l - 到上边窗口
ctrl + w, k - 到下边窗口
ctrl + w, j - 到顶部窗口
ctrl + w, t - 到底部窗口
ctrl + w, b
五、宏操作
- 开始记录宏操作
q[a-z],按q结束,保存操作到寄存器[a-z]中 @[a-z]执行寄存器[a-z]中的操作@@执行最近一次记录的宏操作
六、可视操作
- 进入块可视模式
ctrl + v - 进入字符可视模式
v - 进入行可视模式
V - 删除选定的块
d - 删除选定的块然后进入插入模式
c - 在选中的块同是插入相同的字符
I<String>ESC
七、跳到声明
[[向前跳到顶格第一个 {[]向前跳到顶格第一个 }]]向后跳到顶格的第一个 {]]向后跳到顶格的第一个 }[{跳到本代码块的开头]}跳到本代码块的结尾
八、挂起操作
- 挂起Vim
ctrl + z或者:suspend - 查看任务 在shell中输入
jobs - 恢复任务
fg [job number](将后台程序放到前台)或者bg [job number](将前台程序放到后台) - 执行shell命令
:!command - 开启shell命令
:shell,退出该shellexit - 保存vim状态
:mksession name.vim - 恢复vim状态
:source name.vim - 启动vim时恢复状态
vim -S name.vim
FIGHTING---EVEREY BODY

浙公网安备 33010602011771号