|
| 1 | +# K-Vim及自定义快捷键 # |
| 2 | +------------ |
| 3 | + |
| 4 | +- 插入模式下C - N自动补全下,C - P 自动补全上 |
| 5 | +- 正常模式下C - N关闭相对行号 |
| 6 | +- C - M 可以多行选择 |
| 7 | +- C - V - Tab 输入真正空格键 |
| 8 | +- gk<=>k可以分行上移 gj<=>j可以分行下移 |
| 9 | +- F2行号快关 |
| 10 | +- F3 显示可打印字符开关 |
| 11 | +- F4 换行开关 |
| 12 | +- F5 粘贴模式paste_mode开关,用于有格式的代码粘贴 |
| 13 | +- F6 语法开关,关闭语法可以加快大文件的展示 |
| 14 | +- 分屏窗口移动 |
| 15 | + <pre> |
| 16 | + map < C-j > < C-W >j |
| 17 | + map < C-k > < C-W >k |
| 18 | + map < C-h > < C-W >h |
| 19 | + map < C-l > < C-W >l |
| 20 | + </pre> |
| 21 | +- H <=> ^ 回行首 L <=> $ 到行尾 |
| 22 | +- ; <=> : 快速转到命令行 |
| 23 | +- 命令行增强模式 |
| 24 | + <pre> |
| 25 | + " 命令行模式增强,ctrl - a到行首, -e 到行尾 |
| 26 | + < C-j > < t_kd > |
| 27 | + < C-k > < t_ku > |
| 28 | + < C-a > < Home > |
| 29 | + < C-e > < End > |
| 30 | + </pre> |
| 31 | +- 空格space <=> /,搜索自动进入正则模式 |
| 32 | + <pre> |
| 33 | + 去掉搜索高亮 ,/ |
| 34 | + n搜索下一个,N搜索上一个 |
| 35 | + n <=> nzz |
| 36 | + N <=> Nzz |
| 37 | + * <=> *zz |
| 38 | + # <=> #zz |
| 39 | + g* g*zz |
| 40 | + </pre> |
| 41 | +- 正常模式下 * <=> # |
| 42 | +- Buffer操作 |
| 43 | + <pre> |
| 44 | + :b1 :b2 :bf :bl |
| 45 | + [b :bprevious<cr> |
| 46 | + b :bnext<cr> |
| 47 | + ← :bp<CR> |
| 48 | + → :bn<CR> |
| 49 | + </pre> |
| 50 | +- Tab操作 |
| 51 | + <pre> |
| 52 | + ,th :tabfirst<cr> |
| 53 | + ,tl :tablast<cr> |
| 54 | + ,tj :tabnext<cr> |
| 55 | + ,tk :tabprev<cr> |
| 56 | + ,tn :tabnext<cr> |
| 57 | + ,tp :tabprev<cr> |
| 58 | + ,te :tabedit<cr> |
| 59 | + ,td :tabclose<cr> |
| 60 | + ,tm :tabm<cr> |
| 61 | + ,1~9 切换到具体tab ,0 切换到最后一个 |
| 62 | + ,tt 循环切换tab |
| 63 | + < C - t >可以常规和插入模式下新建tab |
| 64 | + </pre> |
| 65 | +- 可是模式调整缩进后自动选中 |
| 66 | + <pre> |
| 67 | + < < gv |
| 68 | + > > gv |
| 69 | + </pre> |
| 70 | +- Y <=> y$ 复制到行尾 |
| 71 | +- ,sa <=> ggVG |
| 72 | +- 可视模式 ,v <=> V` |
| 73 | +- w!! sudo & write a file |
| 74 | +- kj <=> ESC 插入模式下 |
| 75 | +- <C-e> 2<C-e> 下滚2行,光标改变 |
| 76 | +- <C-y> 2<C-y> 上滚2行,不过光标没变 |
| 77 | +- ,q <=> q 快速关闭当前窗口 |
| 78 | +- ` and ' jump to markers |
| 79 | +- U <=> <C-r> |
| 80 | +- ,ev <=> :e $MYVIMRC edit |
| 81 | +- ,sv <=> :so $MYVIMRC<CR> reload |
| 82 | +- F10 run python |
| 83 | + |
| 84 | +插件部分 |
| 85 | +-------- |
| 86 | +- YCM |
| 87 | + <pre> |
| 88 | + 重启 :YcmRestartServer |
| 89 | + 默认tab s-tab 和自动补全冲突 |
| 90 | + "let g:ycm_key_list_select_completion=['< c-n >'] |
| 91 | + let g:ycm_key_list_select_completion = ['< Down >'] |
| 92 | + "let g:ycm_key_list_previous_completion=['< c-p >'] |
| 93 | + let g:ycm_key_list_previous_completion = ['< Up >'] |
| 94 | + ,jd GoToDefinitionElseDeclaration |
| 95 | + ,gd GoToDeclaration |
| 96 | + </pre> |
| 97 | +- 代码片段 |
| 98 | + <pre> |
| 99 | + let g:UltiSnipsExpandTrigger = "< tab >" |
| 100 | + let g:UltiSnipsJumpForwardTrigger = "< tab >" |
| 101 | + let g:UltiSnipsJumpBackwardTrigger = "< s-tab >" |
| 102 | + ,us :UltiSnipsEdit |
| 103 | + </pre> |
| 104 | +- Raimondi/delimitMate 自动补全单引号,双引号等 |
| 105 | +- docunext/closetag.vim 自动补全html/xml标签 |
| 106 | +- scrooloose/nerdcommenter 快速注释 |
| 107 | +- tpope/vim-surround 快速加入修改环绕字符 |
| 108 | +- vim-trailing-whitespace 快速去行尾空格 [, + <Space>] |
| 109 | +- vim-easy-align 快速赋值语句对齐 ,a 可视和正常模式 |
| 110 | +- vim-easymotion 更高效的移动 [,, + w/fx] ,,h/j/k/l |
| 111 | +- vim-signature 显示marks |
| 112 | + <pre> |
| 113 | + " m[a-zA-Z] add mark |
| 114 | + " '[a-zA-Z] go to mark |
| 115 | + " m<Space> del all marks |
| 116 | + </pre> |
| 117 | +- vim-textobj 文本对象 |
| 118 | + <pre> |
| 119 | + " 增加行文本对象: l dal yal cil |
| 120 | + " 增加文件文本对象: e dae yae cie |
| 121 | + " 增加缩进文本对象: i dai yai cii - 相同缩进属于同一块 |
| 122 | + </pre> |
| 123 | +- im-expand-region 快速选中 |
| 124 | + <pre> |
| 125 | + map + <Plug>(expand_region_expand) |
| 126 | + map _ <Plug>(expand_region_shrink) |
| 127 | + </pre> |
| 128 | +- vim-multiple-cursors 多光标选中编辑 |
| 129 | + <pre> |
| 130 | + let g:multi_cursor_next_key='< C-m >' |
| 131 | + let g:multi_cursor_prev_key='< C-p >' |
| 132 | + let g:multi_cursor_skip_key='< C-x >' |
| 133 | + let g:multi_cursor_quit_key='< Esc >' |
| 134 | + </pre> |
| 135 | +- CtrlP 文件搜索 |
| 136 | + <pre> |
| 137 | + let g:ctrlp_map = '<leader>p' |
| 138 | + let g:ctrlp_cmd = 'CtrlP' |
| 139 | + map <leader>f :CtrlPMRU<CR> |
| 140 | + </pre> |
| 141 | +- ctrlp-funky ctrlp插件-不用ctag进行函数快速跳转 |
| 142 | + <pre> |
| 143 | + nnoremap <Leader>fu :CtrlPFunky<Cr> |
| 144 | + nnoremap <Leader>fU :execute 'CtrlPFunky ' . expand('< cword >')<Cr> |
| 145 | + </pre> |
| 146 | +- git 操作直接在terminal里吧 |
| 147 | +- NERDTreeToggle 快速导航 |
| 148 | + <pre> |
| 149 | + map <leader>n :NERDTreeToggle<CR> |
| 150 | + s/v 分屏打开文件 |
| 151 | + </pre> |
| 152 | +- vim-ctrlspace Vim Workspace Controller |
| 153 | +- TagbarToggle tag导航 F9 |
| 154 | + |
| 155 | +- 待续 |
0 commit comments