日期:2024年7月4日标签:DeveloperHandbook

VsVim #

使用 vim 已经有三年多了,已经习惯了 vim 的高效快捷键操作。工作中也一直在使用 vscode + neovim 插件作为主要开发工具。最近也会写一点 c++ 代码,使用 visual studio 的时候,没有 vim 快捷键,总感觉有点别扭。所以简单配置了下 vsvim。

了解 vim 以及如何在 vscode 中使用 vim,可以看我之前的文章:

安装 #

vsvim 是 visual studio 2015+ 上的一个插件,安装了 vsvim 后,可以在 visual studio 使用 vim 的快捷键进行编辑代码。

打开 visual studio,依次选择 tools -> extensions and updates -> online,搜索 vsvim 进行安装。安装后在 tools -> options -> VsVim -> Keyboard 中将修改快捷键映射,根据自己需要选择。

配置 #

visual studio 会从用户目录依次寻找以下文件作为 vsvim 的配置文件:

  1. .vsvimrc 文件
  2. _vsvimrc 文件
  3. .vimrc 文件
  4. _vimrc 文件

建议使用 .vsvimrc 或者 _vsvimrc 文件,这样可以避免与其他 vim 配置混合。没有配置文件,就在用户目录下新建文件。visual studio 的快捷键命令可以在这里查找:visual studio commands,可以根据自己的需要自定义快捷键映射。

以下是我的配置文件内容:

let mapleader=" "
" 注释,需要安装 ToggleComment 插件
nnoremap gcc :vsc Edit.ToggleComment<CR>
vnoremap gc :vsc Edit.ToggleComment<CR><Esc><Esc>

" 浏览代码
nnoremap gd :vsc Edit.GoToDefinition<CR> "跳转到定义"
nnoremap gr :vsc Edit.FindAllReferences<CR> "查看所有引用"
nnoremap gp :vsc Edit.PeekDefinition<CR> "查看定义"
nnoremap <c-h> :vsc Edit.QuickInfo<cr>
nnoremap <c-o> :vsc View.NavigateBackward<cr>
nnoremap <c-i> :vsc View.NavigateForward<cr>

" ctrl p 跳转文件
nnoremap <c-p> :vsc Edit.NavigateTo<cr>

" 书签
nnoremap <leader>bb :vsc Edit.ToggleBookmark<CR>
nnoremap <leader>bc :vsc Edit.ClearBookmarks<CR>
nnoremap <leader>bn :vsc Edit.NextBookmark<CR>
nnoremap <leader>bp :vsc Edit.PreviousBookmark<CR>

" 相对行号,当前行显示绝对行号
set number
set relativenumber
" 匹配括号高亮
set showmatch
" 高亮显示搜索结果
set hlsearch
" 输入搜索模式时,每输入一个字符,自动跳转到第一个匹配的结果
set incsearch
" 搜索时忽略大小写
set ignorecase
" 如果同时打开了
" ignorecase,那么对于只有一个大写字母的搜索词,将大小写敏感,其他情况都是大小写不敏感
set smartcase
" 使用系统剪贴板
set clipboard=unnamed

注释需要下载 toggle comment 插件支持,visual studio 本身不支持 toggle comment 操作。

(完)

目录