Skip to content

Commit 084629a

Browse files
author
josephe
committed
k-vim 操作
1 parent 839fb09 commit 084629a

File tree

1 file changed

+155
-0
lines changed

1 file changed

+155
-0
lines changed

handbook/k-vim.md

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
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

Comments
 (0)