主目录:返回主目录
这里包含了常用的Vim命令,忘了随时来找。
光标移动类命令
k 向上移动光标
j 向下移动光标
h 向左移动光标
l 向右移动光标
前面加数字可以移动多位
w 将光标向后移动一个单词(词首)
e 将光标向后移动一个单词(词尾)
b 将光标向前移动一个单词
前面加数字可以移动多位
0 将光标移动到行首
$ 将光标移动到行尾
gg 将光标移动到文件第一行
G 将光标移动到文件最后一行
Ctrl+d 向下翻页
Ctrl+u 向上翻页
文本编辑类命令
插入文本
i 在光标首插入
a 在光标尾插入
I 在行首插入
A 在行尾插入
p 插入复制/剪切的文本
普通复制/剪切会直接在光标后插入
整行复制/剪切新建一行插入(P 可以在上一行插入)
o 在光标所在行下方打开新的一行并进入插入模式
O 在光标所在行上方打开新的一行并进入插入模式
修改文本
r 替换字符
R 相当于Ins模式
c+w/e/$
剪切/删除文本
x 剪切当前字符
d 用于剪切选中,下面是无选中时的搭配按键:
- +
w从当前光标当前位置直到下一个单词起始处,不包括它的第一个字符。也可以w前面加数字。 - +
e从当前光标当前位置直到单词末尾,包括最后一个字符。也可以e前面加数字。 - +
$从当前光标到行末。
v 模式下选中文本后按 d 可以剪切
事实上,使用 c 也可以进行剪切,不过会直接进入插入模式。
dd 剪切当前行,前面可以加数字。
d+number+j/k 也可以剪切行。
查找替换类命令
/your text+Enter 查找,n 跳到下一个匹配项,N 跳到上一个匹配项。
在一行内替换头一个字符串 old 为新的字符串 new,请输入 :s/old/new
在一行内替换所有的字符串 old 为新的字符串 new,请输入 :s/old/new/g
在两行内替换所有的字符串 old 为新的字符串 new,请输入 :#,#s/old/new/g
在文件内替换所有的字符串 old 为新的字符串 new,请输入 :%s/old/new/g
进行全文替换时询问用户确认每个替换需添加 c 标志 :%s/old/new/gc
补充命令
:q 退出
:q! 不保存强制退出
:w 保存
:wq 保存并退出
u 撤销
Ctrl+r 恢复
% 匹配括号
y 复制选中文本
yy 复制当前行
y+number+j/k 也很好用
Ctrl+w+h/j/k/l 切换窗口
; 重复上一个操作
VSCode中Vim模式的配置
安装Vim插件后使用命令 :set relativenumber 显示相对行号(VSCode已经默认选择开启绝对行号 :set number)
为了关闭一些烦人的黄线警告,工作区根目录下新建 ./vscode/settings.json,然后写入:
{ "markdownlint.config": { // 忽略"必须以一级标题开头"的规则 (MD041)[reference:3] "MD041": false, // 忽略"禁止内联HTML"的规则 (MD033)[reference:4] "MD033": false, // 或者,只为MD033指定一个允许使用的HTML元素列表[reference:5] // "MD033": { // "allowed_elements": ["details", "summary", "div"] // } // 忽略规则MD012 "MD012": false, "MD040": false }}可以随时添加要忽略的项目。
还需要配置一下Vim插件的设置,打开Vim插件的设置界面,搜索 insert mode key bindings,找到设置,插入以下内容:
"vim.insertModeKeyBindings": [ { "before": ["j", "k"], "after": ["<Esc>"] } ]