VSCode
使用插件VSCodeVim
,访问官网。
我愿称之为最强插件

VSCodeVim
特有功能
gd
- 跳到定义。gq
- 在视觉选择回流和wordwrap文本块,保留评论风格。非常适合格式化文档注释。gb
- 在找到的下一个单词上添加另一个光标,该光标与光标下的单词相同。af
- 可视模式命令,用于选择越来越大的文本块。例如,如果你有“blah(foo [bar'ba | z'])”那么它会首先选择'baz'。如果你af再次按下它,然后选择[bar'baz'],如果你第三次这样做,它会选择“(foo [bar'baz'])”。gh
- 相当于将鼠标悬停在光标所在的任何位置。方便查看类型和错误消息而无需鼠标!
vim 命令状态颜色配置
{
"vim.statusBarColorControl": true,
"vim.statusBarColors.normal": ["#8FBCBB", "#434C5E"],
"vim.statusBarColors.insert": ["#BF616A", "#434C5E"],
"vim.statusBarColors.visual": ["#B48EAD", "#434C5E"],
"vim.statusBarColors.visualline": ["#d0af70", "#434C5E"],
"vim.statusBarColors.visualblock": ["#A3BE8C", "#434C5E"],
"vim.statusBarColors.replace": ["#D08770", "#434C5E"],
}
Visual Studio
配置相关文件
参考本文末尾相关内容
VS设置
单词联想时,使用上下键切换联想菜单选择比较麻烦,使用VSCode的方式(使用<C+p>,<C+n>来切换)切换就很高效。
1.切换键盘映射方案
选项>环境>键盘
切换键盘映射方案到 Visual Studio Code
2.vim中使用C-n,C-p来切换智能感知,做如下修改。
编辑.上移行(英文:Edit.LineUp) 添加Ctrl+P快捷键
编辑.下移行(英文:Edit.LineDown) 添加Ctrl+N快捷键
XCode
使用插件XVim2
安装教程参考本站另一篇文章:
Rider
新IDE,使用IDEA的配置文件就好
配置Vim文件
一般情况下如果使用配置文件的Vim插件,配置文件标准是按Vim本身的配置文件规则来的,所以配置文件的内容基本是通用的,嫌麻烦的直接复制,修改文件就好。
Vim配置文件地址
VS的配置位置: C:\Users\用户名\_vsvimrc
IDEA的配置位置: C:\Users\用户名\.ideavsvimrc
配置文件参考
let mapleader=","
set easymotion
set surround
set multiple-cursors
set keep-english-in-normal
set nu
set relativenumber
nmap <c-n> <Plug> NextWholeOccurrence
"插入模式退出
inoremap jj <Esc>
"插入模式的移动
inoremap <C-h> <Left> "插入模式下使用Ctrl+h光标左移
inoremap <C-j> <Down>
inoremap <C-k> <Up>
inoremap <C-l> <Right>
inoremap <C-d> <Delete>
"行首行尾映射
nnoremap H ^
nnoremap L $
vnoremap H ^
vnoremap L $
"复制粘贴
"inoremap <C-v> <leader>p
"复制当前所选
vnoremap <leader>y "+y
"粘贴替换所选
vnoremap <leader>p "+p
"复制当前单词
nnoremap <leader>y b"+yw
"当前位置粘贴
nnoremap <leader>p "+p
"多光标 相当于执行Alt+Shift+.
nnoremap gb :vsc Edit.InsertNextMatchingCaret<CR>
vnoremap gb :vsc Edit.InsertNextMatchingCaret<CR>
VSCode中设置
{
// 绑定vim前导键
"vim.leader": ",",
// 启用easymotion插件
"vim.easymotion": true,
// 突出显示与当前搜索匹配的所有文本
"vim.hlsearch": true,
// 插入模式下的非递归按键绑定
"vim.insertModeKeyBindings": [
{ "before": [ "j","j" ], "after": [ "<Esc>" ] }, // "插入模式退出
{ "before": [ "C-h" ], "after": [ "<Left>" ] }, // "插入模式下使用Ctrl+h光标左移
{ "before": [ "C-j" ], "after": [ "<Down>" ] },
{ "before": [ "C-k" ], "after": [ "<Up>" ] },
{ "before": [ "C-l" ], "after": [ "<Right>" ] },
{ "before": [ "C-d" ], "after": [ "<Delete>" ] },
],
// 命令模式下的非递归按键绑定
"vim.commandLineModeKeyBindingsNonRecursive": [ ],
// 普通模式下的非递归按键绑定
"vim.normalModeKeyBindingsNonRecursive": [
{ "before": [ "L" ], "after": [ "$" ] },
{ "before": [ "H" ], "after": [ "^" ] },
{ "before": [ "<leader>","y" ], "after": [ "v","i","w","\"","+","y" ] },
{ "before": [ "<leader>","p" ], "after": [ "\"","+","p" ] },
// { "before": [ "<S-d>" ], "after": [ "\"","+","d","$" ] } // vscode中不需要
],
"vim.operatorPendingModeKeyBindings": [ ],
// 可视模式下的非递归按键绑定
"vim.visualModeKeyBindings": [
{ "before": [ "H" ], "after": [ "^" ] },
{ "before": [ "L" ], "after": [ "$" ] },
{ "before": [ "<leader>","y" ], "after": [ "\"","+","y" ] },
{ "before": [ "<leader>","p" ], "after": [ "\"","+","p" ] },
],
"editor.lineNumbers": "relative",
}
评论