vscode+vim笔记

368 阅读1分钟

退出vim终端

* :wq保存并退出
* :q!强制退出

这是笔记

* 视频详细地址:https://www.bilibili.com/video/BV1nW4y1Y78b/

代码默认在vscode的setting.json里面设置

image.png

切换为insert模式

  • i:在光标位置
  • a:在光标位置后面

切换为nomarl模式

  • 使用esc键位
  • 使用ctrl+ [

esc换其他键(如用jk,不建议使用)

image.png

windows安装PowerToys键盘映射caps为ctrl

image.png

vim动作

image.png

  • 行首:数字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语法(操作符加上动作)image.png

  • 动作: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在当前单词结尾处添加

操作文件(我认为非必要)

image.png

  • 进入文件 image.png

浏览器用vim(我认为非必要)

image.png

代码配置

"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", "_"] } ],