Vim配置
# 常用命令
- 展开折叠代码,zi
- 跳转到第一行,:1 gg
- 跳转到最后一行 😒 shift+g
# 多窗口使用技巧
# 打开多个窗口
- new name.txt
- sp(lit) name.txt
- vsp(lit) name.txt
# 关闭多窗口
- q!,w!,x 真正退出
- close 暂时关闭窗口,内容还在缓存中
- tabc 关闭当前窗口
- tabo 关闭所有窗口
# 窗口切换
- ctrl + w + j/k 上下切换
- ctrl + w + 方向键 上下左右切换
- ctrl + w (双击) 依次切换
# 窗口大小调整
- ctrl + w + 纵向扩大,行数增加
- ctrl + w - 纵向缩小,行数减小
- res(ize) num 显示行数调整为num行
- res(ize) + num 增加num行
- res(ize) - num 减少num行
- vertical res(ize) num 指定当前窗口为num列
- vertical res(ize)+num 把当前窗口增加num列
- vertical res(ize)-num 把当前窗口减少num列
# 给窗口重命名
- f file
# vi打开多个窗口
- vi a b c
# 文件浏览
- :Ex 开启目录浏览器,可以浏览当前目录下的所有文件,并可以选择
- :Sex 水平分割当前窗口,并在一个窗口中开启目录浏览器
- :ls 显示当前buffer情况
# vi和shell切换
- :shell 可以在不关闭vi的情况下切换到shell命令行
- :exit 从shell回到vi
# 快速跳转
%
[m
[M
]m
]M
[{
]}
[(
])
gd
gD
# vim编辑常用快捷键
# 复制粘贴剪切
- yy 拷贝某一行的内容
- dd 剪切某一行的内容
- p 粘贴
- v + 光标移动选中一些,松开v,然后按下y => 即拷贝选中的内容
- v + 光标移动选中一些,松开v,然后按下d => 即剪切选中的内容
- ctrl + v 列模式,移动光标可以选择列的内容
- dd可以看成是删除单独行,v + 光标移动选中内容再按下d可以看成是删除多行内容。
# 查找与替换
全局查找
- 在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车。 Vim会跳转到第一个匹配。按下n查找下一个,按下N查找上一个
- 在查找模式中加入\c表示大小写不敏感查找,\C表示大小写敏感查找。例如: /foo\c /Foo\C
查找当前单词
- 查找当前光标所在的单词
- g* 可查找光标所在单词的字符序列,每次出现前后字符无要求
查找和替换
- 😒(substitute)命令用来查找和替换字符串
- :{作用范围}s/{目标}/{替换}/{替换标志}
- eg :%s/foo/bar/g会在全局范围(%)查找foo并替换为bar,所有出现都会被替换(g)
- 作用范围
- 当前行 😒/foo/bar/g
- 全文 :%s/foo/bar/g
- 选区 :'<,'>s/foo/bar/g在Visual模式下选择区域后输入:,Vim即可自动补全为 :'<,'>
- 2-11行 :5,12s/foo/bar/g
- 当前行.与接下来两行+2 :.,+2s/foo/bar/g
- 替换标志
- 空替换标志 表示只替换从光标位置开始,目标的第一次出现
- g,表示全局global替换(即替换目标的所有出现)
- i表示大小写不敏感查找,I表示大小写敏感
- c表示需要确认,例如全局查找"foo"替换为"bar"并且需要确认
https://www.jianshu.com/p/b8e3b4e2075f
# 代码折叠
set foldenable 启动折叠
:set foldmethod=manual (Manual(手工折叠)、Indent(缩进折叠)、Marker(标记折叠)和Syntax(语法折叠))
za 打开关闭当前的折叠
zc 关闭当前打开的折叠
zo 打开当前的折叠
zm 关闭所有的折叠
zM 关闭所有的折叠及其嵌套的折叠
zr 打开所有折叠
zR 打开所有折叠及其嵌套的折叠
zd 删除当前的折叠
zE 删除所有的折叠
zj 移动至下一个折叠
zk 移动至上一个折叠
zn 禁用折叠
zN 启用折叠
Manual Fold
- zf
- zfa(
Indent Fold
Syntax Fold
Marker Fold
# 会话
- :mksession 保存当前会话
- :mkVimball
- :mkexrc
- mkspell
- mkview
- mkvimrc
编辑此页 (opens new window)
上次更新: 2022-04-28, 11:21:32