vim退出快捷键_vim 多文件骚操作,鼠标都不用碰一下[视频]

87d0a909f90fb95d49a06c2921f0ec75.png
vim 多文件操作https://www.zhihu.com/video/1220004627099713536

hi, 这次要介绍一下 vim 的多文件操作。笔者刚学习 vim 的时候操作多个文件比较死板,都是一个个文件夹进去之后在打开对应的 文件,这种操作方式非常低效。这次介绍一下笔者自己摸索的操作多个文件的一些技巧,当然未必是最佳实践,如果你有更好的建议 可以留言评论。视频里会演示一下笔者如何操作多个文件的,整个过程我们都不要碰一下鼠标。发现知乎视频没有b站清晰度高,可以去b站关注同名用户查看。

目录树插件

对于浏览项目来说,目录树可能更加直观一些。vim 里你可以使用 nerdtree/defx 之类的文件目录树插件,在目录树窗口中你依然可以 使用 vim normal 模式下的快捷键,只用键盘完成文件操作。

快速搜索文件

快速搜索文件和打开的 buffer 也是一个常用操作,很多时候可能比目录树还要常用,这里笔者推荐的是 ctrlp/fzf.vim/denite 之类的 搜索工具,你可以快速根据文件名进行模糊搜索,同时如果打开了多个 buffer 也可以根据文件名快速搜索。

窗口快速跳转

当你打开了多个窗口的时候,vim 里可以使用 ctrl+w+hjkl 在窗口之间移动。不过这个操作依然比较麻烦,这里介绍我用的映射直接用 ctrl+hjkl 来进行窗口跳转,使用了 hjkl 保持和 vim normal 模式下的方向保持一致,用起来更符合习惯。

" use ctrl+h/j/k/l switch window
noremap <C-h> <C-w>h
noremap <C-j> <C-w>j
noremap <C-k> <C-w>k
noremap <C-l> <C-w>l

" 切换 buffer
nnoremap <silent> [b :bprevious<CR>
nnoremap <silent> [n :bnext<CR>

窗口快速选择

如果你比较土豪屏幕很大,打开很多窗口,这里推荐一个快速选择窗口的插件 vim-choosewin。 它可以帮助你快速选择所有窗口中的任意一个,默认 normal 模式下使用减号(-)触发。

快速新建和退出 buffer

如果你像笔者一样平常喜欢打开多个文件,比如看代码的时候会比较方便,可能会频繁创建和退出 buffer(打开的一个文件就是一个buffer)。 如果可以快速创建和打开窗口会非常方便,笔者这里映射的快捷键你可以参考一下,我会在视频里进行演示。

" window control prefix
nnoremap  [Window]   <Nop>
nmap      s [Window]
" 使用 sv, sg 快速在 normal 模式下分割窗口
nnoremap <silent> [Window]v  :<C-u>split<CR>
nnoremap <silent> [Window]g  :<C-u>vsplit<CR>

" leader 键
let g:mapleader=","
" 插入模式下使用 leader+w 快速保存文件
imap ,w <esc>:w<CR>
" 使用 jj 快速回到 normal 模式
inoremap jj <Esc>`^
" 在插入模式下任意位置直接切到新的一行
inoremap <C-j> <C-o>o
inoremap <C-l> <C-o>A
" 使用 leader+e 快速退出窗口(但是不会关闭 buffer)
noremap <leader>e :q<cr>
" 使用 leader+b 快速关闭当前 buffer
noremap <leader>b :bd<cr>

另外笔者还用了一个插件 BufOnly,当你想快速关闭除了当前 buffer 之外的其他 buffer,会非常方便,安装之后直接执行 :BufOnly 就可以了。

总结

在操作多个文件的时候如果可以掌握上述技巧,就会大幅提升编辑多个文件的效率。如果你有更好的技巧和建议,也可以留言评论。

往期推荐:

为什么知乎上这么多人推荐 HHKB,却不反复强调说该键盘不适合大多数程序员?​www.zhihu.com
eb68a3f8a8a77aaa812ed0bf2a044358.png
PegasusWang:程序员双十一剁手指南​zhuanlan.zhihu.com
62e63bf4cfa696f04aacbe5ef866873b.png
计算机专业必读哪些经典书籍?​www.zhihu.com
440920f4351e0582fff1e7f3166998de.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值