vim - 你在 Vim 中使用哪些自定义键绑定(bind)?

标签 vim

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.

1年前关闭。




Improve this question




您使用哪些自定义键绑定(bind)来提高 Vim 的工作效率?
我最喜欢的两个是:

inoremap jj <Esc>

" Clear screen clears search highlighting.
nnoremap <C-L> :nohl<CR><C-L>

最佳答案

窗口管理

" Window splitting
nmap <silent> <leader>sh :leftabove vnew<cr>
nmap <silent> <leader>sl :rightbelow vnew<cr>
nmap <silent> <leader>sk :leftabove new<cr>
nmap <silent> <leader>sj :rightbelow new<cr>
nmap <silent> <leader>swh :topleft vnew<cr>
nmap <silent> <leader>swl :botright vnew<cr>
nmap <silent> <leader>swk :topleft new<cr>
nmap <silent> <leader>swj :botright new<cr>

" Scroll the window next to the current one
" (especially useful for two-window splits)
nmap <silent> <leader>j <c-w>w<c-d><c-w>W
nmap <silent> <leader>k <c-w>w<c-u><c-w>W
文字编辑
" Toggle search highlighting
nmap <silent> <leader>/ :set hlsearch!<cr>
" Toggle paste mode
" (prefer this over 'pastetoggle' to echo the current state)
nmap <leader>p :setlocal paste! paste?<cr>

" Select the last edited (or pasted) text
nmap gv `[v`]

" Keep lines that do (or do not) contain the last search term
nmap <leader>v/ :v/<c-r>//d<cr>gg
nmap <leader>g/ :g/<c-r>//d<cr>gg

" Email (de-)quotation
nmap <leader>q vip:s/^/> /<cr>
vmap <leader>q :s/^/> /<cr>
nmap <leader>Q vip:s/^> //<cr>
vmap <leader>Q :s/^> //<cr>
文件打开和保存
" Save and restore session
nmap <leader>ss :wa<cr>:mksession! $HOME/.vim/sessions/
nmap <leader>rs :wa<cr>:source $HOME/.vim/sessions/

" Write buffer through sudo
cnoreabbrev w!! w !sudo tee % >/dev/null

" Change the current directory to the directory of the file in buffer
nmap <silent> <leader>cd :cd %:p:h<cr>:pwd<cr>

" Open file located in the same directory as the current one
nmap <leader>e :e <c-r>=expand('%:p:h').'/'<cr>

关于vim - 你在 Vim 中使用哪些自定义键绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4982710/

相关文章:

vim - vim是否能够检测文件的自然语言,然后加载正确的字典?

vim - 如何从 VimL 获取命令行参数?

vim:加入段落中的所有行

vim - 移动到词尾

vim - 在 vim 中创建粘滞键映射

javascript - 在 VIM 中使用的 Javascript 手册页

git - 从 Vim 保存 Git 消息时 : e32 No File Name

vim - 从 `:bnext` `:bprevious` 中排除 quickfix 缓冲区

linux - 如何在 svn 中以 vimdiff 样式查看 svn diff

vim - MonoDevelop 中 Vim 键绑定(bind)的状态如何?