退出vim终端
* :wq保存并退出
* :q!强制退出
这是笔记
* 视频详细地址:https://www.bilibili.com/video/BV1nW4y1Y78b/
代码默认在vscode的setting.json里面设置
切换为insert模式
- i:在光标位置
- a:在光标位置后面
切换为nomarl模式
- 使用esc键位
- 使用ctrl+
[
esc换其他键(如用jk,不建议使用)
windows安装PowerToys键盘映射caps为ctrl
vim动作
- 行首:数字0
- 到本行最后一个不是blank字符的位置:^
- 空格,回车,tab,换行
- 改键位,shift+H行首,shift+L行尾
"vim.insertModeKeyBindings": [ {"before":["H"],"after":["^"]}, {"before":["L"],"after":["g","_"]}, ],
插入
- 当前行首:A
- 当前光标之前:a
- shift+L+i:试试组合键在行尾
- 行前:O
- 行后:o
复制粘贴
- (寄存器概念)
- 复制:yy
- 粘贴:p
- 删除当前行:dd
vim语法(操作符加上动作)
- 动作:h,j,k,l,p,O等
操作
d删除c编辑y复制p粘贴u撤回v(visual)进入visual模式- 基于单词的移动
w单词开头e单词结尾b移动到上一个单词的开头ge移动到上一个单词的结尾- 基于字串的移动
W字串开头E字串结尾B移动到上一个字串的开头GE移动到上一个字串的结尾
"vim.operatorPendingModeKeyBindings": [ { "before": ["H"], "after": ["^"] }, { "before": ["L"], "after": ["g", "_"] } ],
组合方式例子
cw删除当前单词ea在当前单词结尾处添加
操作文件(我认为非必要)
- 进入文件
浏览器用vim(我认为非必要)
代码配置
"vim.insertModeKeyBindings": [ { "before": ["H"], "after": ["^"] }, { "before": ["L"], "after": ["g", "_"] } ], "vim.normalModeKeyBindingsNonRecursive": [ { "before": ["H"], "after": ["^"] }, { "before": ["L"], "after": ["g", "_"] } ], //shift+H到行首,nomal "vim.normalModeKeyBindings": [ { "before": ["H"], "after": ["^"] }, { "before": ["L"], "after": ["g", "_"] } ], "vim.operatorPendingModeKeyBindings": [ { "before": ["H"], "after": ["^"] }, { "before": ["L"], "after": ["g", "_"] } ],