| " === |
| " === 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> |
| |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
2022-08-04 csharp-vscode配置c#