vim 多个文件切换 :b 命令
快速浏览和操作Buffer -- 插件: MiniBufExplorer
下载地址 [http://www.vim.org/scripts/script.php?script_id=159]
版本 6.3.2
安装 将下载的 minibufexpl.vim文件丢到 \~/.vim/plugin 文件夹中即可
手册 在minibufexpl.vim 文件的头部
在编程的时候不可能永远只编辑一个文件, 你肯定会打开很多源文件进行编辑,
如果每个文件都打开一个vim进行编辑的话那操作起来将是多麻烦啊, 所以vim有bu
ffer(缓冲区)的概念, 可以看vim的帮助:
:help buffer
vim自带的buffer管理工具只有:ls, :bnext, :bdelete 等的命令, 既不好用,
又不直观. 现在隆重向你推荐一款vim插件(plugin): MiniBufExplorer
使用方法:
重新启动vim, 当你只编辑一个buffer的时候MiniBufExplorer派不上用场, 当
你打开第二个buffer的时候, MiniBufExplorer窗口就自动弹出来了, 见下图:
上面那个狭长的窗口就是MiniBufExplorer窗口, 其中列出了当前所有已经打开
的buffer, 当你把光标置于这个窗口时, 有下面几个快捷键可以用:
<Tab> 向前循环切换到每个buffer名上
<S-Tab> 向后循环切换到每个buffer名上
<Enter> 在打开光标所在的buffer
d 删除光标所在的buffer
在命令模式下:
:bn 打开当前buffer的下一个buffer
:bp 打开当前buffer的前一个buffer
:b"num" 打开指定的buffer,"num"指的是buffer开始的那个数字,比如上图,我想打开list_audit.erb,输入:b7就ok了
以下的两个功能需要在~/.vimrc中增加:
let g:miniBufExplMapCTabSwitchBufs = 1
<C-Tab> 向前循环切换到每个buffer上,并在但前窗口打开
<C-S-Tab> 向后循环切换到每个buffer上,并在但前窗口打开 注:MiniBufExplore默认是这两个快捷键,可是在ubuntu10.04中不能使用,原因可能是bash中已经定义了ctrl+tab快捷键所以我们可以更换此快捷键
在~/.vim/plugin/minibufexpl.vim中
找到
" noremap <C-TAB> :call <SID>CycleBuffer(1)<CR>:<BS> noremap <C-TAB> :call <SID>CycleBuffer(1)<CR>:<BS>
noremap <C-S-TAB> :call <SID>CycleBuffer(0)<CR>:<BS>
重新定义成自己的map即可
我的为
noremap <silent> <leader>n :call <SID>CycleBuffer(1)<CR>:<BS>
noremap <silent> <leader>N :call <SID>CycleBuffer(0)<CR>:<BS>
这样就可以用,n ,N 进行buffer切换(let mapleader = "," 我已在~/.vimrc中定义leader)
如果在~/.vimrc中设置了下面这句:
let g:miniBufExplMapWindowNavVim = 1
则可以用<C-h,j,k,l>切换到上下左右的窗口中去,就像:
C-w,h j k l 向"左,下,上,右"切换窗口.
在~/.vimrc中设置:
let g:miniBufExplMapWindowNavArrows = 1
是用<C-箭头键>切换到上下左右窗口中去
以下是MiniBufExplorer的几个命令:
:MiniBufExplorer " Open and/or goto Explorer
:CMiniBufExplorer " Close the Explorer if it's open
:UMiniBufExplorer " Update Explorer without naviting
:TMiniBufExplorer " Toggle the Explorer window open and closed
如果你用gvim的话,MiniBufExplorer会出现多个窗口的烦人问题,我一直没能很好地解决这个问题,一般都是用:CMiniBufExplorer命令把MiniBufExplorer窗口给close掉
如果你在.vimrc(windows底下的是_vimrc)中配置了mapleader,如我的
let mapleader = "," "Set mapleader
你就可以在normal模式下用,mbc代替 :CMiniBufExplorer命令
其他命令为:
:MiniBufExplorer ,mbe
:CMiniBufExplorer ,mbc
:UMiniBufExplorer ,mbu
:TMiniBufExplorer ,mbt
推荐大家一个安装vim插件的脚本,可以实现一个命令就把常用插件安装好,很方便:一个具有类似于IDE功能的容易安装的VIM
MiniBufExplorer现在是vim默认安装的插件了吧。
记住几个常用的命令(从SO上学来的):
- :e <filename> 打开文件
- :ls 当前打开的buf
- :bn 下一个buf
- :bp 前一个buf
- :b<n> n是数字,第n个buf
- :b<tab> 自动补齐
- :bd 删除buf
vim 多个文件切换 :b 命令的更多相关文章
- 二、vim的保存文件和退出命令
vim的保存文件和退出命令 命令 简单说明 :w 保存编辑后的文件内容,但不退出vim编辑器.这个命令的作用是把内存缓冲区中的数据写到启动vim时指定的文件中. :w! 强制写文件,即强制覆盖原有 ...
- vim的保存文件和退出命令
文章来源:http://blog.sina.com.cn/s/blog_5e357d2d0100zmth.html 命令 简单说明 :w 保存编辑后的文件内容,但不退出vim编辑器.这个命令的作用是把 ...
- vim 多个文件切换
打开多个文件:1.vim还没有启动的时候:在终端里输入 vim file1 file2 ... filen便可以打开所有想要打开的文件2.vim已经启动输入:open file可以再打开一个文件,并且 ...
- vim文本编辑器——文件导入、命令查找、导入命令执行结果、自定义快捷键、ab命令、快捷键的保存
1.文件的导入(r): 导入前: 导入后: 在光标处,将tmp目录下的zhbb文件的内容导入到了当前文件. 2.命令的查找: 3.导入命令的执行结果: 光标所在行为导入的位置. 4.自定义快捷键: ( ...
- linux命令之vim使用-(转)vim的保存文件和退出命令
博客地址: http://blog.sina.com.cn/s/blog_5e357d2d0100zmth.html
- DOS当中的基本操作命令,如何切换磁盘,如何查看文件和文件夹,如何清屏,进入文件夹的命令,javac是什么意思,作用是什么?DOS如何建文件夹?退出文件夹?
如何切换磁盘:使用盘符+:举例 d: 如何查看文件和文件夹 dir/w 如何清屏: cls (clear screen) 进入文件夹的命令cd ,举例cd JDK javac是什么意思,c 是comp ...
- vim的跨文件复制粘贴
1.用vim打开一个文件,例如:a.cpp 2.在普通模式下,输入:":sp"(不含引号)横向切分一个窗口,或者":vsp"纵向切分一个窗口,敲入命令后,你将看 ...
- vim置于后台,vim 编辑多文件
这里介绍一个很实用的方法:1.将vim置于后台,直接按 ctrl + z可以将当前的vim置于后台 2.然后可以去别的目录再打开一个 当你需要打开之前的vim的时候3.打jobs命令看当前有哪些vim ...
- VIM vim/vi的文件内、跨文件复制粘贴操作、替换操作
https://www.cnblogs.com/shengulong/p/6702868.html vi/vim 中可以使用 :s 命令来替换字符串 1.s/vivian/sky/ 替换当前行第一个 ...
随机推荐
- Spring源码分析(十四)从bean的实例中获取对象
摘要:本文结合<Spring源码深度解析>来分析Spring 5.0.6版本的源代码.若有描述错误之处,欢迎指正. 在getBean方法中,getObjectForBeanlnstance ...
- Linux磁盘与文件系统管理(二)
fsck 检查并修复文件系统中的错误,即针对有问题的系统或磁盘进行修复,类似的命令还有e2fsck,修复前有以下要求: 1)文件系统必须是卸载状态 2)不要对正常的分区使用fsck,不加参数的情况下, ...
- Go语言连接Oracle(就我这个最全)
综合参考了网上挺多的方案 倒腾了半天终于连接好了 Go都出来这么多年了 还没有个Oracle的官方驱动... 过程真的很蛋疼..一度想放弃直接连ODBC 首先交代一下运行环境和工具版本: WIN10 ...
- sqlserver分区视图中分区列的规则
分区列规则 分区列存在于每个成员表上,并且通过 CHECK 约束标识特定表中的可用数据.分区列必须遵守如下规则: 每个基表都拥有键值由 CHECK 约束所强制的分区列.每个表的 CHECK 约束的键范 ...
- 洛谷 P1580 yyy loves Easter_Egg I
洛谷 P1580 yyy loves Easter_Egg I 题解: 队列+字符串 #include <cstdio> #include <string> #include ...
- 安装spark-1.5遇到的一些问题
1.java.lang.UnsatisfiedLinkError: org.apache.hadoop.util.NativeCodeLoader.buildSupportsSnappy()Z 这个问 ...
- $watch, $watchCollection, $watchGroup的使用
官方文档 $watch简单使用 $watch是一个scope函数,用于监听模型变化,当你的模型部分发生变化时它会通知你. $watch(watchExpression, listener, objec ...
- 第二章:走进shell
2.2 通过Linux控制台终端访问CLI(command line interface) 打开CLI:control+alt+t 用于设置前景色和背景色的setterm选项 选项 参数 描述 - ...
- 原来new的java对象不是所有的都存在堆内存
JVM在晚期(运行期)优化时,使用到一种技术----逃逸分析. 补充说明:逃逸分析在1999年就已提出,但是JDK1.6才实现逃逸分析.而且,这项优化目前仍不成熟,仍有很大改进余地. 这是大坑啊,目前 ...
- python+appium 实现qq聊天的消息,滑动删除聊天消息
有人问我,appium怎么去删除qq聊天的, 当时想到的是滑动, 可是具体的大概有个思路,于是乎,就想自己来实现下, 打开模拟器,开发者选项,找到显示坐标的 然后去打开qq获取要删除的消息的坐标后, ...