Visual Code 的 Vim 插件极简使用手册

Visual Code 的 Vim 插件极简使用手册

极简配置

文件 -> 首选项 -> 设置 -> 搜索 vim,向下找到在 setting.json 中添加如下配置

{
   "vim.leader": "<space>",
    // 启用系统粘贴板作为 Vim 寄存器
    "vim.useSystemClipboard": true,
    // 由vim接管 Ctrl + any 的按键,而不是vscode
    "vim.useCtrlKeys": true,
    //在插入模式下按下 Ctrl + ] 退出插入模式
    "vim.insertModeKeyBindings": [
        {
            "before": [
                "<C-]>"
            ],
            "after": [
                "<Esc>"
            ]
        }
    ],
    // 由 visual studio code 接管 ctrl + c, ctrl + a, ctrl + f, ctrl + p
    "vim.handleKeys": {
        "<C-a>": false,
        "<C-f>": false,
        "<C-c>": false,
        "<C-p>": false,
    }
}

常用命令

光标移动(普通模式)

命令说明
h/j/k/l左/下/上/右
w/b下一个/上一个单词
e/E单词尾/单词尾(忽略标点)
^/$/0行首非空字符/行尾/行首
gg/G文件首/尾
H/M/L屏幕首/中/尾
nG跳转到第 n 行
fx/Fx跳到下一个/上一个 x
;/,重复上一个 f/F
Ctrl+f/b向下/上翻页
Ctrl+d/u向下/上翻半页

标记移动(普通模式)

命令说明
m{a-z}在当前位置设置标记,使用小写字母a-z标识
:marks显示所有已设置的标记列表
`{a-z}跳转到对应标记的位置
`"跳转到上次编辑的位置
:ju[mps]显示跳转历史列表
Ctrl + o跳转到上一个位置(older)
Ctrl + i跳转到下一个位置(newer)

编辑

普通模式
命令说明
i/I光标前/行首插入
a/A光标后/行尾插入
o/O下行/上行插入
ea单词尾插入
dd/D删除整行/删至行尾
x/X删除当前/前一个字符
s/S删除当前字符/整行并插入
u/.撤销/重复上一命令
J合并两行
Alt+↑/↓行向上/下移动
插入模式
命令说明
Ctrl+h/w/del/u/k删除前一个字符/单词/后一个单词/至行首/至行尾
Ctrl+rx插入模式下执行寄存器 x 的内容
Ctrl+o临时进入普通模式

可视模式

命令说明
v字符可视模式
V行可视模式
Ctrl+v块可视模式
可视模式下的操作
命令说明
d删除选定文本
y复制选定文本
>增加缩进
<减少缩进
~切换大小写
u转换为小写
U转换为大写

文本对象和范围

文本对象
对象描述示例
w单词diw 删除单词
s句子das 删除句子
p段落dap 删除段落
tXML/HTML标签dit 删除标签内容
b圆括号块dib 删除括号内容
B花括号块diB 删除花括号内容
'单引号字符串di' 删除引号内容
"双引号字符串di" 删除引号内容
范围前缀
前缀描述示例
i内部ciw 修改单词内部
a周围caw 修改单词及空格
t直到dtx 删除直到字符x
f查找dfx 删除包含字符x

寄存器

寄存器说明示例
reg [register]显示寄存器内容:reg 显示所有寄存器内容
""未命名寄存器,最近一次删除或复制的内容p 粘贴最近的内容
"0复制专用寄存器,最近一次复制的内容"0p 粘贴最近复制的内容
"1 - "9删除历史寄存器,按时间排序的最近删除内容"1p 粘贴最近删除的内容
"a - "z命名寄存器,用户自定义存储内容"ay 复制到寄存器a
"+系统剪贴板寄存器"+y 复制到系统剪贴板
"*系统选择寄存器(主要用于X11系统)"*p 粘贴系统选择的内容
"_黑洞寄存器,写入的内容会消失"_dd 删除行但不保存到寄存器
"/搜索寄存器,保存最近的搜索模式"/p 粘贴最近的搜索内容
":命令寄存器,保存最近执行的命令":p 粘贴最近的命令
"=表达式寄存器,用于计算表达式"=2+2<CR>p 插入计算结果

注意:

  1. 使用大写字母(如 "A)会追加内容到对应的小写寄存器
  2. 复制操作默认同时写入 "0"" 寄存器
  3. 删除操作默认写入 """1 寄存器,同时将原有内容下移

折叠代码

命令说明
za切换折叠状态
zM全部折叠
zR全部展开

查询命令

命令说明示例
/pattern向前搜索/const 搜索 “const”
?pattern向后搜索?func 搜索 “func”
n跳到下一个匹配项n 继续查找
N跳到上一个匹配项N 反向查找
*向前搜索当前单词光标在单词上按 *
#向后搜索当前单词光标在单词上按 #
gd跳转到局部变量定义光标在变量上按 gd
gf跳转到文件光标在文件名上按 gf
:noh取消搜索高亮输入 :noh 回车
搜索模式
模式说明示例
\c忽略大小写/word\c
\C大小写敏感/word\C
^行首/^func
$行尾/end$
\<单词开始/\<word
\>单词结束/word\>
.*任意字符/start.*end

标签页

命令说明
Ctrl+Tab切换标签页
Ctrl+w关闭标签页
Ctrl+p打开文件

案例

‘.’ 命令

该命令可以作为一个微小的宏。它能重复你从插入模式切换到普通模式再到插入模式的操作。对于下面的文本,你想在每行的末尾添加一个分号。第一行执行 A;<Esc>,后两行执行 j.


var foo = 1
var bar = 'a'
var baz = true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值