vs2022 vim配置


" Add your own customizations in ~/.vim_runtime/my_configs.vim
" set runtimepath+=~/.vim_runtime
" source ~/.vim_runtime/vimrcs/basic.vim
" source ~/.vim_runtime/vimrcs/filetypes.vim
" source ~/.vim_runtime/vimrcs/plugins.vim
" source ~/.vim_runtime/vimrcs/keymappings.vim
" source ~/.vim_runtime/vimrcs/lightline.vim
" source ~/.vim_runtime/vimrcs/mru.vim
" source ~/.vim_runtime/vimrcs/nerdtee.vim
" source ~/.vim_runtime/vimrcs/bufExplorer.vim
" source ~/.vim_runtime/vimrcs/colorscheme.vim
" source ~/.vim_runtime/vimrcs/vimspector.vim
" source ~/.vim_runtime/vimrcs/whichkey.vim
" source ~/.vim_runtime/vimrcs/vimtest.vim
" source ~/.vim_runtime/vimrcs/tagbar.vim
" source ~/.vim_runtime/vimrcs/rainbow.vim
" source ~/.vim_runtime/vimrcs/autopairs.vim
" source ~/.vim_runtime/vimrcs/startify.vim
" source ~/.vim_runtime/vimrcs/caw.vim
" source ~/.vim_runtime/vimrcs/maximizer.vim
" source ~/.vim_runtime/vimrcs/coc.vim
" source ~/.vim_runtime/vimrcs/git.vim
" source ~/.vim_runtime/vimrcs/neoformat.vim
" source ~/.vim_runtime/vimrcs/leaderf.vim
" set autoread
let mapleader="\<space>"
set relativenumber
set clipboard=unnamed
set cursorline
set laststatus=2
" " Always show current position
" set ruler
" " Height of the command bar
" set cmdheight=2
" " Ignore case when searching
set ignorecase
" " This makes the search case sensitive if uppercase is entered
set smartcase
" " Highlight search results
set hlsearch
" " Makes search act like search in modern browsers
set incsearch
" " Show matching brackets
" set showmatch
" " Turn on wild menu
" set wildmenu


" """ Colors and Fonts
" " Enable syntax highlighting
" syntax enable
" set guifont=Sauce_Code_Powerline:h10


" """ Text, tab and indent related
" " Use spaces instead of tabs
set expandtab
" " Be smart when using tabs
" set smarttab
" " 1 tab == 4 spaces
set shiftwidth=4
set tabstop=4
" " Linebreak on 500 characters
" set lbr
set tw=500
" " Auto indent, smart indent, wrap lines
set ai
" set si
set wrap
" set nocompatible
" set nobackup
set ai "设置自动缩进
" set cindent "设置使用 C/C++ 语言的自动缩进方式
set sts=4 "即设置 softtabstop 为 4. 输入 tab 后就跳了 4 格
set so=7 "光标离上下边界7行时开始滚屏
set backspace=2
" set mouse=i


" 取消高亮<---------------------------
map <A-/> :nohlsearch<cr>
imap { {}<ESC>i<cr><ESC>O
imap ( ()<ESC>i
imap [ []<ESC>i
" " Treat long lines as break lines (useful when moving around in them)
noremap j gj
noremap k gk
inoremap jk <esc>
imap jk <Left><ESC>
nmap <leader>s :w<cr>
imap <leader>e <esc>
vmap <leader>e <esc>
" vnoremap <leader>zs :s/^/\/\/<cr>
" vnoremap <leader>zS :s/\/\//<cr>
nnoremap <C-h> :tabp<cr>
nnoremap <C-l> :tabn<cr>
nnoremap <C-w> :q!<cr>
" nnoremap <C-h> :vsc View.NavigateBackward<CR>
" nnoremap <C-l> :vsc View.NavigateForward<cr>


nnoremap <C-f> :vsc Edit.FindinFiles<cr>
vnoremap <C-x> :vsc Edit.Cut<cr>
nnoremap <C-x> :vsc Edit.LineCut<cr>
nnoremap <C-p> :vsc Edit.ParameterInfo<cr>
inoremap <C-p> <C-o>:vsc Edit.ParameterInfo<cr>
nnoremap <C-o> :vsc File.OpenContainingFolder<cr> "打开所在文件夹"
nnoremap <C-/> :vsc Edit.CommentSelection<cr>
nnoremap cu :vsc Edit.UncommentSelection<cr>
" 1. 注释
vnoremap ci :s/^/\/\/<cr>vv
vnoremap cu :s/\/\//<cr>vv
nnoremap ci :s/^/\/\/<cr>
nnoremap cu :s/\/\//<cr>


"重新生成选中项目的解决方案快捷键
nnoremap ,b :vsc Build.RebuildSelection<CR>


inoremap jj <esc>
nnoremap <c-j> <c-w>j
nnoremap <c-k> <c-w>k
nnoremap <c-l> <c-w>l
nnoremap <c-h> <c-w>h


nnoremap <c-o> :vsc View.NavigateBackward<CR>
nnoremap <c-i> :vsc View.NavigateForward<CR>


nnoremap ,t :vsc Window.NextTab<CR>
nnoremap ,r :vsc Window.PreviousTab<CR>


nnoremap ,n :vsc Window.NextDocumentWindow<CR>
nnoremap ,p :vsc Window.PreviousDocumentWindow<CR>


 


nnoremap <leader>gc :vsc Build.Compile<cr>
nnoremap <leader>gb :vsc Build.BuildSolution<cr>
nnoremap <leader>gr :vsc Debug.StartWithoutDebugging<cr>
nnoremap <leader>gs :vsc Debug.StopDebugging<cr>
nnoremap gdp :vsc Edit.GoToDeclaration <C-r><C-w><cr>
inoremap gdp <ESC>:vsc Edit.GoToDeclaration <C-r><C-w><cr>
nnoremap gdn :vsc Edit.GoToDefinition <C-r><C-w><cr>
inoremap gdn <ESC>:vsc Edit.GoToDefinition <C-r><C-w><cr>
nnoremap <leader>vs :vsc View.SolutionExplorer<cr>
nnoremap <leader>vc :vsc View.ClassView<cr>
nnoremap <leader>vr :vsc View.ResourceView<cr>
nnoremap <leader>ve :vsc View.ErrorList<CR>
nnoremap <leader>en :vsc View.NextError<CR>
nnoremap <leader>ep :vsc View.PreviousError<CR>
" noremap gd <c-]>zz<cr> "跳转到定义"
nnoremap <leader>fr :vsc Edit.FindAllReferences<cr>
nnoremap <leader>fj :vsc VAssistX.FindReferencesinFile<cr> "当前文件中的引用"
nnoremap <leader>fm :vsc Edit.FormatDocument<cr>
vnoremap <leader>fm :vsc Edit.FormatSelection<cr>
" nnoremap gr :vsc Debug.Start<cr>
nnoremap <leader>lm :vsc VAssistX.ListMethodsInCurrentFile<cr> "函数列表"
nnoremap <leader>ca :vsc VAssistX.FindReferences<cr> "查看所有引用"
nnoremap <leader>zp :vsc VAssistX.RefactorImplementInterface<cr> "实现接口"
nnoremap <leader>zj :vsc Edit.QuickInfo<cr> "查看函数定义文档"
nnoremap <leader>cs :vsc VAssistX.FindSymbolDialog<cr>
nnoremap <leader>cf :vsc VAssistX.OpenFileInSolutionDialog<cr>
nnoremap <leader>co :vsc VAssistX.VAOutline<cr>
vnoremap * "/y/<C-r>/<cr>
vnoremap # "/y?<C-r>/<cr>
"""""------------------------------ in insert mode-----------------------------"""""
" 在插入模式下使用光标移动指令 'A'代表Alt键
inoremap <A-j> <Down>
inoremap <A-k> <Up>
inoremap <A-h> <Left>
inoremap <A-l> <Right>
" 在插入模式下使用光标移动一个单词
inoremap <C-h> <C-Left>
inoremap <C-l> <C-Right>


" 在插入模式下<C-k>用来插入特殊字符,详细内容可参考:help digraph-table
" 在插入模式下<C-j>用来输入一个回车键
" 使用 Alt 键移动到行首、行尾、上一行行首、下一行行尾
inoremap <A-H> <Esc>^i
inoremap <A-L> <End>
inoremap <A-K> <Esc>k$a
inoremap <A-J> <Esc>$a
" 删除光标前面、后面的一个字符
"inoremap <A-f> <C-o>x
inoremap <A-d> <Esc>s
inoremap <A-c> <Right><Esc>s
inoremap <A-y> <C-o>Y
" 插入到大/小括号外另起一行
inoremap <A-g> <Esc>jo
inoremap <A-i> <Esc>A;<cr>
"inoremap <A-m> <Esc>A<SPACE>{}<ESC>i<cr><ESC>O
inoremap <A-m> <Esc>o{}<ESC>O
"inoremap <BACKSPACE> <Esc>kA<BACKSPACE>
inoremap <A-n> <Esc>o{<ENTER>
" 在光标下方,上方插入新行
inoremap <A-o> <Esc>o
inoremap <A-O> <Esc>O
inoremap <A-p> <C-o>p
inoremap <A-P> <C-o>P
inoremap <A-v> <Esc>V
" 删除当前行
inoremap <A-f> <C-o>dd
" 删除当前行并重写<-------------------
inoremap <A-s> <Esc>S
" 删除目标所在的单词<-----------------
inoremap <A-,> <C-[>diwi
inoremap <A-.> <C-o>diw
" 插入模式下滚屏
inoremap <A-e> <ESC><C-E>a
inoremap <A-q> <ESC><C-Y>a
" 插入模式下的撤销操作
inoremap <A-u> <C-o>u
inoremap <A-r> <C-o><C-r>

 

 

首先要安装help viewer

 

 

 

 

 

参考这个帖子:

VS下使用VIM, Visual Studio 安装 VSvim插件 配置 及使用 - QIYUEXIN - 博客园 (cnblogs.com)

下载链接:

VsVim - Visual Studio Marketplace

稍微与上贴不同,安装完打开vs后会显示如下,直接点击那个“configure”

 

直接进入keyboard,打钩,handled all with vsvim

 

 

在normal模式输入:set

 可以得到如下信息,可在相应目录里,比如C:\Users\Administrator\vimfiles里面新建一个_vsvimrc(无后缀)的配置文件

 

 参考:Vs 中使用 Vim 模式_vsvim-CSDN博客,其他待补充

 安装插件vsvim toggle commet

修改快捷键-这个很重要,搜索edit.line,将edit.lineup edit.linedown分别指定为ctrl+k ctrl+j则可以使用快捷键来进行选择

 

posted on 2023-12-14 10:03  风中狂笑  阅读(249)  评论(0编辑  收藏  举报

导航