normal 模式
insert 模式
visual 模式
control + [ 从insert/visual回到normal
esc 也是从insert/visual回到normal
normal 模式下
hjkl 移动光标左下上右
a 在光标后insert
i 在光标前insert
shift + a 在当前行结尾处insert
shift + i 在当前行开头处insert
gg 光标跳转到文档第一行
shift + g 光标跳转到文档最后一行
: + 行号 + 回车 光标跳转到文行特定的行
数字 + j/k 光标上下移动指定行数
数字 + w/b 光标左右移动指定的单词个数
[[ 光标跳转到文档第一行
]] 光标跳转到文档最后一行
shift + { 光标跳转到下一个段落
shift + } 光标跳转到上一个段落
control + u 向下翻页
control + d 向上翻页
% 用于在 () {} 之间跳转
zz 将当前行剧中到屏幕中
o 换行insert
shift + o 在上一行空一行insert
/ + 字符为搜索 (n 和 shift + n 可以继续上下选择)
f + 字符 光标定位到字符上(;继续下一个 ,继续上一个)
t + 字符 光标定位到字符前(;继续下一个 ,继续上一个)
yy 复制当前行
dd 剪切当前行(删除)
shift + d 删除当前行光标后的内容
shift + d 删除当前行光标后的内容 + insert
p 黏贴内容到当前行的下一行
shift + p 黏贴内容到当前行的上一行
u 撤销
x 删除光标选中内容
s 删除光标选中内容并insert
shift + s 删除当前行并insert
cw 等价于 dwi
visual 模式下
v 单个字选择模式
shift + v 行选择模式
需要选中缩进的时候,按v(或V)进入visual状态,选择多行,用>或<缩进或缩出
使用v来选中删除
v+d
v+x
v+s
V+G 会选中当前行到最后一行的内容
control + v 可以进入visual block模式可以按块来选内容
例子:
批量删除每一行开头的-app-
control + v + GIf-d
如果要批量插入,每一行开头加入-web-
control + v + GI-web-
–
实用例子:
part 1:
dt) 删除)前的所有内容
vf) 选中到)的所有内容包括右括号
yt) 复制到)前的内容
ct; 删除到;前的所有内容并insert
ciw 删除当前光标所在的单词 change in word
ci" 删除当前光标最近的"“里的内容
part 2:
四种删除if花括号内容的办法(初始光标在if下一行):
if {
delete me
haha
wow
ya
}
1.shift + v 3j d
2.d 4 d
3.d i {
4.d 2 i {
part 3:
“testdfat”
假设光标停留在第一个t位置
di”:delete all content inside “,结果字符串为”"
dta:delete all content to a,结果字符串为"at"
dfa:delete all content from current location, until a is found,结果字符串为"t"
在vim中的特殊处理(在vscode插件中无效):
当在visual模式下选中内容按下:可以对选中的多个行做批处理
比如选中后 :+normal A.png
+回车
会在每个选中行后加上.png的内容
分享一下我的vimrc配置
https://github.com/Llane00/my-configs/blob/main/.vimrc
在安装vim 插件时遇到的问题:
1.you-complete-me无法安装,原因是其中一个依赖在google资源下,那么可以去官方github issue中查找,替换依赖路径
2.还是ycm插件,首先需要去vim plugin目录下找到you-complete-me目录,找到install.py,手动去安装python3 install.py
然后安装时发现缺少cmake,那么就另外brew install cmake
3.完成安装后由于我的电脑上默认的vim版本太旧了,不支持最新的python3提示ycm有报错(没错还是这个插件),
我重新用brew 安装了vim brew install vim
, 下载完毕后需要在zshrc中加一个alias把vim和vi命令指向到brew新下载的vim下
可以通过brew list vim去找vim下载的地址,这里只要vim和vi对应的地址
在.zshrc中加入下面两行
alias vim='/usr/local/xxx/xxx/vim'
alias vi='/usr/local/xxx/xxx/vi'
保存并source zshrc后就可以生效使用新的vim了
you-complete-me不亏为最难安装的vim 插件