set ai
"自动缩进宽度
set sw=4
set ts=4
"关闭高亮显示
set nohlsearch
set is
set ignorecase
set backspace=indent,eol,start
set clipboard=unnamed
set number
:nnoremap . .<Esc>
"重新生成选中项目的解决方案快捷键
:nnoremap ,b :vsc Build.RebuildSelection<CR>
" jk用于退出j
:inoremap jk <esc>
"跳转到行首和行尾"
:nnoremap H ^
:nnoremap L g_
"大写JK,用于切换标签页"
:nnoremap K :vsc Window.NextTab<CR>
:nnoremap J :vsc Window.PreviousTab<CR>
"显示错误列表的快捷键
:nnoremap cl :vsc View.ErrorList<CR>
:nnoremap cn :vsc View.NextError<CR>
:nnoremap cp :vsc View.PreviousError<CR>
"添加注释
"vv是为了退出visual line模式
:vnoremap ci :s/^/\/\/<cr>vv
:vnoremap cu :s/\/\//<cr>vv
:nnoremap ci :s/^/\/\/<cr>
:nnoremap cu :s/\/\//<cr>
"居中显示查找结果
:nnoremap n nzz
:nnoremap N Nzz
:nnoremap * *zz
:nnoremap # #zz
"去定义
:nnoremap gd <C-]>zz
"gq->== 整理代码格式
:nnoremap gq ==
:vnoremap gq ==
"format code
:nnoremap == :vsc Edit.FormatDocument<CR>
"重命名
:nnoremap gr :vsc VAssistX.RefactorRename<CR>
"查看函数列表 list methods
:nnoremap zm :vsc VAssistX.ListMethodsInCurrentFile<CR>
"查找所有引用--
:nnoremap ca :vsc Edit.FindAllReferences<CR>
"或者使用VA的命令(vs2017中使用va命令比较好)
" :nnoremap ca :vsc VAssistX.FindReferences<CR>
"打开查看类的对话框
:nnoremap cs :vsc VAssistX.FindSymbolDialog<CR>
"打开查看文件的对话框
:nnoremap cf :vsc VAssistX.OpenFileInSolutionDialog<CR>
"open VAOutline
:nnoremap co :vsc VAssistX.VAOutline<CR>
"打开解决方案资源管理器
:nnoremap cv :vsc View.SolutionExplorer<CR>
"查找在当前文件中的引用
:nnoremap cj :vsc VAssistX.FindReferencesinFile<CR>
"在文件中查找
:nnoremap ck :vsc Edit.FindinFiles<CR>
"打开文件所在文件夹
:nnoremap cm :vsc File.OpenContainingFolder<CR>
"快速查看方法定义
:nnoremap zj :vsc Edit.QuickInfo<CR>
"快速查看方法的所有定义,鼠标在方法parameter上的时候显示的东西
:nnoremap gh :vsc Edit.ParameterInfo<CR>
"打开查找符号结果
:nnoremap zs :vsc View.FindSymbolResults<CR>
"打开查找结果1
:nnoremap zi :vsc View.FindResults1<CR>
"打开查找结果2
:nnoremap zu :vsc View.FindResults2<CR>
"打开va的在本文件中查找结果
:nnoremap ,i :vsc VAssistX.FindReferencesResults<CR>
"实现interface接口
:nnoremap zp :vsc VAssistX.RefactorImplementInterface<CR>
"可视模式中,使用 * 和 # 查找
:vnoremap * "/y/<C-r>/<CR>
:vnoremap # "/y?<C-r>/<CR>
"打开折叠或者关闭折叠
:nnoremap <space> za
" ===
" === Editor behavior
" ===
set number
set relativenumber
set cursorline
set noexpandtab
set tabstop=2
set shiftwidth=2
set softtabstop=2
set autoindent
set list
set scrolloff=4
set ttimeoutlen=0
set notimeout
set wrap
set tw=0
set ignorecase
set smartcase
set visualbell
set virtualedit=block
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
" 搜索时立即高亮 结果
set incsearch
" 搜索时忽略大小写
set ignorecase
" 有一个或以上大写字母时仍大小写敏感
set smartcase
"关闭高亮
set nohlsearch
set is
set ignorecase
set ai
"自动缩进宽度
set sw=4
set ts=4
" set clipboard=unnamed "将系统剪切板和vim剪切板一致
"backspace有几种工作方式,默认是vi兼容的。对新手来说很不习惯。对老vi 不那么熟悉的人也都挺困扰的。可以用
"set backspace=indent,eol,start来解决。
" indent: 如果用了:set indent,:set ai 等自动缩进,想用退格键将字段缩进的删掉,必须设置这个选项。否则不响应。
"eol:如果插入模式下在行开头,想通过退格键合并两行,需要设置eol。start:要想删除此次插入前的输入,需设置这个。
set backspace=indent,eol,start
set timeoutlen=900
set ttimeoutlen=0
if &t_Co > 2 || has("gui_running" )
set t_Co=256 " 256 colors please
syntax on
set nohlsearch " highlighted search
" let base16colorspace=256
endif
set showcmd " show typing in normal modeset showcmd " show typing in normal mode
" ===
" === Basic Mappings 改建
" ===
" Set <LEADER> as <SPACE>, ; as :
let mapleader=" "
:noremap ; :
" Save & quit
:noremap Q :q<CR>
:noremap S :w<CR>
" Better indenting
:vnoremap < <gv
:vnoremap > >gv
" Indentation
:nnoremap < <<
:nnoremap > >>
" Search 禁用搜索高亮,<CR>
:noremap <LEADER><CR> :nohlsearch<CR>
"全局替换
:noremap \s :%s//g<left><left>
"Folding "折叠代码
:noremap <LEADER>o za
:nnoremap [b :bp<CR>
:nnoremap ]b :bn<CR>
:nnoremap \b :bd<CR>
":bd退出当前buffer
" ===
" === Cursor Movement
" ===
" Faster in-line navigation
:noremap W 5w
:noremap B 5b
:noremap J 15j
:noremap K 15k
:noremap E $
:noremap - N
:noremap = n
" Easier line-wise movement
:nnoremap gh g^
:nnoremap gl g$
" Yank from cursor position to end-of-line
nnoremap Y y$
" Delete from cursor position to end-of-line
nnoremap D d$
" copy to system clipboard
vnoremap Y "+y
nnoremap P "+p
" Disable the default s key
::noremap s <nop>
"重新生成选中项目的解决方案快捷键
:nnoremap \x :vsc Build.RebuildSelection<CR>
: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 tl :vsc Window.NextTab<CR>
nnoremap th :vsc Window.PreviousTab<CR>
nnoremap [b :vsc Window.NextDocumentWindow<CR>
nnoremap ]b :vsc Window.PreviousDocumentWindow<CR>
"显示错误列表的快捷键
nnoremap <leader>e :vsc View.ErrorList<CR>
nnoremap <leader>= :vsc View.NextError<CR>
nnoremap <leader>- :vsc View.PreviousError<CR>
"添加注释
"vv是为了退出visual line模式
:vnoremap <leader>cc :s/^/\/\/<cr>vv
:vnoremap <leader>cu :s/\/\//<cr>vv
:nnoremap <leader>cc :s/^/\/\/<cr>
:nnoremap <leader>cu :s/\/\//<cr>
"居中显示查找结果
:nnoremap n nzz
:nnoremap N Nzz
:nnoremap * *zz
:nnoremap # #zz
"去定义
:nnoremap gd <C-]>zz
"gq->== 整理代码格式
:nnoremap gq ==
:vnoremap gq ==
"format code
nnoremap == :vsc Edit.FormatDocument<CR>
"重命名
nnoremap rn :vsc VAssistX.RefactorRename<CR>
"查看函数列表 list methods
nnoremap \v :vsc VAssistX.ListMethodsInCurrentFile<CR>
"查找所有引用--
nnoremap gi :vsc Edit.FindAllReferences<CR>
"或者使用VA的命令(vs2017中使用va命令比较好)
" :nnoremap ca :vsc VAssistX.FindReferences<CR>
"打开查看类的对话框
nnoremap cs :vsc VAssistX.FindSymbolDialog<CR>
"打开查看文件的对话框
nnoremap <leader>f :vsc VAssistX.OpenFileInSolutionDialog<CR>
"open VAOutline
nnoremap co :vsc VAssistX.VAOutline<CR>
"打开解决方案资源管理器
nnoremap tt :vsc View.SolutionExplorer<CR>
"查找在当前文件中的引用
nnoremap cj :vsc VAssistX.FindReferencesinFile<CR>
"在文件中查找
nnoremap <c-p> :vsc Edit.FindinFiles<CR>
"打开文件所在文件夹
nnoremap cm :vsc File.OpenContainingFolder<CR>
"快速查看方法定义
nnoremap <leader>k :vsc Edit.QuickInfo<CR>
"快速查看方法的所有定义,鼠标在方法parameter上的时候显示的东西
nnoremap zk :vsc Edit.ParameterInfo<CR>
"打开查找符号结果
nnoremap zs :vsc View.FindSymbolResults<CR>
"打开查找结果1
nnoremap zi :vsc View.FindResults1<CR>
"打开查找结果2
nnoremap zu :vsc View.FindResults2<CR>
"打开va的在本文件中查找结果
nnoremap ,i :vsc VAssistX.FindReferencesResults<CR>
"实现interface接口
nnoremap zp :vsc VAssistX.RefactorImplementInterface<CR>
"可视模式中,使用 * 和 # 查找
:vnoremap * "/y/<C-r>/<CR>
:vnoremap # "/y?<C-r>/<CR>
"插入断点
nnoremap ,dd ^:vsc EditorContextMenus.CodeWindow.Breakpoint.InsertBreakpoint<CR>
"调试下一步
nnoremap ,dj :vsc Debug.StepOver<CR>
"创建一个类文件
nnoremap ,cc :vsc Project.AddClass<CR>
nnoremap ,cd :vsc Project.NewFolder<CR>
" 调试
nnoremap <leader>R :vsc Debug.Start<CR>
nnoremap <leader>in :e C:\User\Sebastian\_vsvimrc<CR>
"头文件切换
nnoremap <Leader>a :vsc VAssistX.OpenCorrespondingFile<CR>