vim + Vscode / WebStorm
Vim + VScode / WebStorm
使用 vim 快捷键的好处:
- 提高效率。
- 统一 WebStorm(JetBrains 系列软件) 和 VScode 的快捷键操作。
安装插件
- VScode
插件市场搜索 [vim](Vim - Visual Studio Marketplace) , 安装。
- WebStorm(JetBrains 系列软件都可使用)
插件市场搜索 IdeaVim , 安装。
配置
共享系统剪贴板
vim 复制的内容无法复制到系统的剪贴板中,需要配置才能使用。
webStorm
- 在用户根目录创建
.vimrc
1
set clipboard=unnamed
- 在用户根目录创建
.ideavimrc
1
2
3source ~/.vimrc
set ideajoin
set clipboard+=ideaput- 在用户根目录创建
vscode 无需配置
更多个性化配置可在 .vimrc
中配置。
使用编辑器快捷键
安装 vim 插件后,插件会接管所有快捷键,一些常用的快捷键会被映射为 vim 的操作
但又需要使用原本编辑这些快捷键,例如:搜索(ctrl + f)、全选(ctrl + a)等。
vscode
在 settings.json 中添加:
1
2
3
4
5
6
7
8
9
10"vim.handleKeys": {
"<C-a>": false, // ctrl + a
"<C-x>": false, // ctrl + x
"<C-c>": false, // ...
"<C-f>": false,
"<C-n>": false,
"<C-w>": false,
"<C-b>": false,
},
// ctrl + ... 这些快捷键会使用 vscode 的操作webstorm
emm… 忘了
vim 四种模式
Vim 是一款非常强大的文本编辑器,它有四种不同的模式:普通模式、插入模式、可视模式和命令行模式。下面对这四种模式进行详细地介绍:
普通模式(Normal Mode):
普通模式是 Vim 启动后默认的模式。在这个模式下,你可以使用不同的命令来对文本进行操作。
例如,可以使用 h、j、k 和 l 键在文本中移动;
使用 dd 将一行文本删除,使用 yy 将一行文本复制,等等。
普通模式下不会出现光标闪烁。按下 i 或 a 可以进入插入模式。
插入模式(Insert Mode):
插入模式下,可以像在其他文本编辑器中一样编辑文本。
进入此模式方法:
- 小写 i,大写 I。
- 小写 a,大写 A。
按
ESC
返回普通模式。可视模式(Visual Mode):
在可视模式下,可以使用不同的命令来选择文本。
进入此模式方法:
- 小写 v,自由选择区域。
- 大写 V,整行的选择。
选择后可以进行复制、删除等操作。
按
ESC
返回普通模式。命令行模式(Command-line Mode):
在普通模式下按下冒号 (:) 将进入命令行模式。
在这个模式下,可以执行一些高级的操作,例如打开文件、保存文件、退出 Vim 等。
此模式下常用命令:
wq
保存并退出,w
保存,q!
强制退出按
ESC
返回普通模式。
命令
基础命令:
hjkl
上:k
下:j
左:h
右:l
y
复制,可以用来复制指定的文本。
yy
复制当前行,可以将当前光标所在的行复制到剪贴板中。
p
粘贴,将之前复制或剪切到剪贴板中的内容粘贴到当前光标所在位置后面。
x
删除命令,用来删除光标所在位置处的一个字符。
dd
删除一整行。具体来说,可以通过以下操作实现:
如果在执行 dd 命令之前输入了数字 n,那么会删除当前行及其后面的 n - 1 行。比如执行 3dd 命令会删除当前行及其下面的两行。
e / b
用于移动光标到单词的开头 / 结尾。
b
命令表示将光标移动到当前单词的开头。e
命令表示将光标移动到当前单词的结尾。
这两个命令通常用于快速跳转到当前单词的开头或结尾,便于对单词进行编辑操作,如复制、删除、替换等。
gg / G
gg
用于将光标移动到文件的第一行。G
用于将光标移动到文件的最后一行。
这两个命令通常用于快速跳转到文件的开头或结尾,便于查看或编辑文本。
另外,还可以加上数字前缀,如 10G
可以将光标移动到文本的第 10 行,2gg
可以将光标移动到文本的第二行
zz / zt / zb
用于将当前行移动到窗口的中间位置。
具体来说,它会将当前行移动到屏幕的中间,以便更好地查看当前行上下文的内容。
该命令对于浏览较长的文件很有用,可以避免连续滚动以查看当前行的上下文。
如果你正在编辑一份文档,并且需要将某个地方的内容移到窗口的中间,那么可以使用 zz
命令轻松实现这一目的。
除了 zz
命令外,还可以使用 zt
将当前行移动到屏幕的顶部,或者使用 zb
将当前行移动到屏幕的底部。
J(大写)
用于将当前行与下一行合并为一行。
具体来说,它会删除当前行和下一行之间的换行符,并将它们合并成一行。
该命令对于快速将两行文本合并为一行很有用。
如果你需要将多个短语或句子合并成一行,可以使用 J 命令轻松实现这一目的。
组合命令:
daw
删除光标所在的单词及其周围的空格。
diw
删除光标所在的单词。
dw
删除光标所在位置到单词结尾的单词和单词后的一个空格。
cw
删除光标所在位置到单词结尾的单词和单词后的一个空格,并进入插入模式。
dit
用于删除当前所在 HTML/XML 标签的内容。
其中 d 表示删除操作,it 表示内部标签(inner tag),表示删除当前光标所在标签中间的内容。
具体来说,它会将当前光标定位到所在标签的内部,然后删除整个标签内的内容以及该标签本身,并将其存储在剪贴板中,以供后续使用。
这个命令通常用于快速删除 HTML 或 XML 文件中的特定标签及其内容。
di( / di{
用于删除当前圆括号 () 之间的内容。
其中 d 表示删除操作,i( 表示内部括号(inner parenthesis),表示删除当前光标所在位置所包含的一对圆括号 () 之间的内容。
具体来说,它会将当前光标定位到所在括号的内部,然后删除括号内的所有内容,并将其存储在剪贴板中,以供后续使用。
这个命令通常用于快速删除一对圆括号 () 中的文本内容。
di’ / di”
用于删除当前单引号 ‘’ 之间的内容。
其中 d 表示删除操作,i’ 表示内部引号(inner quote),表示删除当前光标所在位置所包含的一对单引号 ‘’ 之间的内容。
具体来说,它会将当前光标定位到所在字符串的内部,然后删除该字符串中的所有内容,并将其存储在剪贴板中,以供后续使用。
这个命令通常用于快速删除一对单引号 ‘’ 中的字符串文字。
修改键盘映射(window)
Esc 键使用频率很高,手移动太大,不方便故将 Caps Lock 键映射为 Esc 键。
修改
chatGPT 提供的步骤:
以下是使用 SharpKeys 将 Caps Lock 键映射为 Esc 键的步骤:
- 首先,下载并安装 SharpKeys。你可以在 SharpKeys 的 GitHub 页面上找到最新的发行版。
- 启动 SharpKeys,并点击“Add”按钮。
- 在“Map this key (from key)”下拉列表中选择“Special: Caps Lock”。
- 在“To this key (to key)”下拉列表中选择“Special: Escape”。
- 点击“OK”按钮,然后点击“Write to Registry”按钮。
- 最后,重新启动电脑,使更改生效。
完成以上步骤后,你的 Caps Lock 键就会被映射为 Esc 键了。这样,你就可以更方便地在 Vim 或其他编辑器中进行快速的光标移动了。
软件主界面
step 1
step2
step3
复原
chatGPT 提供:
如果你使用了 SharpKeys 将 Caps Lock 键映射为 Esc 键,想要恢复原来的功能,可以按照以下步骤操作:
- 启动 SharpKeys。
- 在 SharpKeys 界面中找到你之前创建的键盘映射,然后选中它。
- 点击“Delete”按钮,确认删除键盘映射。
- 点击“Write to Registry”按钮,保存更改。
- 最后,重新启动电脑,使更改生效。
完成以上步骤后,Caps Lock 键的功能就会恢复为原来的状态。