Vim插件:Unite新手指导(译)
Unite是什么?
Unite可以在一个项目中快速浏览文件。但是它不仅限于文件,其他任何可以列出的东西都可以很好的被显示和搜索。这个开放式的特性很可能是人们找到它的原因(原文:This open-ended nature is probably what people find confusing about it.)
Unite不局限于搜索文件或者缓冲区--它可以很容易的处理文件和缓冲区,甚至更多。其他Vim插件的作者可以通过Unite提供的API扩展它,以用来支持其他数据源。
用法
Unite命令采用的格式为:Unite source,其中"source"是buffer,file和file_rec其中之一。
- buffer: 浏览当前打开的buffer列表
- file: 浏览当前目录的文件列表
- file_rec: 递归的列出当前目录的文件
当一个命令被使用,一个新的水平分割窗口会被打开。比如,命令:Unite file将会显示当前目录的文件列表。在这个窗口中,标准的Vim命令模式下的命令可以使用--你可以使用“j”和“k”浏览该列表,可以使用“/”来查询。如果你在一个文件上按下enter键,Unite将会打开它。如果光标是在一个目录上,Unite将会进入该目录,并且更新该文件列表。
模式
如果你在Unite窗口进入插入模式,光标将会移到该窗口的最上方,并显示“>”提示符。输入字符会搜索该列表--这里和FuzzyFinder相似。和常规vim一样,按<ESC>键可以退出插入模式回到命令模式。
命令模式和插入模式都有相应的快捷键映射。比如在命令模式下,当光标在一个文件上,按下a,Unite会显示一个可以操作该文件命令的列表。这个命令列表被称为actions,这个列表可以像Unite其他部分一样被搜索和调用。
actions可以组合通配符。如果输入:Unite file, 然后按下*将会标记所有文件,再输入a将会列出所有actions,最后选择above,Unite将会打开所有被标记的文件。
其他特性
Unite也支持其他操作和浏览文件的方式,比如, :UniteBookmarkAdd会添加一个文件到书签列表中。书签通过:Unite bookmark来搜索和操作。
Unite没有附带任何映射键,但是你可以很容易的添加。下面的设置会调用:Unite file 当按下“<Leader>f”:
nnoremap f :Unite file ==> 应该是 nnoremap <leader>f :Unite file
如果你仅仅只是想让Unite的功能和ctrlp.vim或者FuzzyFinder相似,这样你可以通过下面的映射键来实现:
nnoremap f :Unite -start-insert file ==> 应该是 nnoremap <leader>f :Unite -start-insert file
Unite可以使用选项参数,比如,“-start-insert”会引起Unite打开提示窗口,在该窗口输入将会引起Unite搜索文件。
在VIM里,如果你不确定<Leader>是那个键,可以通过":help <Leader>"来查看。它一般是命名空间的快捷键,所以你应该输入“\f”来调用上面的例子。
结论
希望该篇文章说明白了Unite的主要特性,我觉得Unite是个非常有趣和常用的vim插件--它没有试着去模仿GUI IDEs,但是工作方式和vim保持一致。我不确定我是否喜欢命令模式和插入模式类似的使用方式,但是肯定会感觉到很自然在使用Unite一段时间后。
原文地址:http://usevim.com/2013/06/19/unite/
可以参考:https://github.com/Shougo/unite.vim
http://bling.github.io/blog/2013/06/02/unite-dot-vim-the-plugin-you-didnt-know-you-need/
Vim插件:Unite新手指导(译)的更多相关文章
- VIM插件攻略
工欲善其事,必先利其器.一个强大的开发环境可以大大提高工作效率.好吧,我知道这是废话...不过,我想一定有很多跟我一样打算进入Linux平台开发的新手,一开始都为找不到一个像Windows下的VS那样 ...
- vim插件的安装方式 -- vim注释插件和doxygen函数注释生成插件-ctrlp插件-tabular等号对齐 插件
使用unzip的时候 指定 -d选项, 是说明解压到的 目标地址. 这个参数还是比较方便的, 比直接unzip到当前目录, 然后在去拷贝到目标目录, 然后再删除当前目录中的解压文件夹, 方便多了. 使 ...
- 常用vim插件的安装、使用和管理
1.Ctags Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或者其他工具用来快速查找定位源代码中的符号,入变量名,函数名等.比如,tags文件就是Taglist和 ...
- [Tools] Vim插件管理
我们在使用插件的时候,都不希望插件安装的很杂乱,它不是一个看不见的黑盒,也为了下次方便在其它地方安装. 由于要方便插件管理,于是有了 Vundle,以下做些介绍: 1. 一个插件管理器, 自己本身也是 ...
- Vim插件管理——Vundle
Vim插件管理--Vundle 都说Vim时程序员写给自己的编辑器,其中的情结可想而知.身为一只程序狗CodingDoge,今天就让我带各位学习Vim的使用. vim因为其庞大而强劲的插件受到无比的推 ...
- vim 插件管理
1 进入自己的vim mkdir ./bundle/vundle 2 在vimrc同级中执行 git clone https://github.com/gmarik/vundle.git ./bund ...
- 「个人vim插件+配置」
2016.10.4 filetype indent on syntax on set nu ai ci si set sw= ts= set autochdir set backspace= colo ...
- vim插件ctags的安装和使用
vim插件ctags的安装和使用 2013-11-19 20:47 17064人阅读 评论(0) 收藏 举报 分类: 开发工具(3) linux编程(9) c/c++编程(11) 版权声明:本 ...
- 使用pathogen管理Vim插件并托管到Github
参照文章[1][2]的办法,将vim打造成一个Python开发环境.文章中使用的是 pathogen + git 来管理 Vim 插件的.对这种方式还不太明白的同学可以参考[3]中的介绍.pathog ...
随机推荐
- 004Maven_Pom.xml文档的介绍
很重要的一个文档,具体介绍如下:
- centos配置ssh免密码登录后,仍提示输入密码
配置SSH无密码登录需要3步: 1.生成公钥和私钥 2.导入公钥到认证文件,更改权限 3.测试 1.生成公钥和私钥 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 默 ...
- PHP时间戳 strtotime()使用方法和技巧
在php中我想要获取时间戳有多种方法,最常用的就是使用time函数与strtotime()函数把日期转换成时间戳了, 下面我来给大家分享一下时间戳函数 strtotime用法. 获取指定的年月日转化为 ...
- 事务基础知识-->Spring事务管理
Spring虽然提供了灵活方便的事务管理功能,但这些功能都是基于底层数据库本身的事务处理机制工作的.要深入了解Spring的事务管理和配置,有必要先对数据库事务的基础知识进行学习. 何为数据库事务 “ ...
- Maven仓库的搭建
http://blog.csdn.net/xiao__gui/article/details/52625660 Maven仓库是有特定规则的目录结构. 目录结构由 仓库根目录 , groupId , ...
- 实际用户ID,有效用户ID,保存的设置用户ID
Unix中常见的几个概念,下面做一个解释. 首先需要明确一点,这几个概念都是和进程相关的. real user ID表示的是实际上进程的执行者是谁,effective user ID主要用于校验该进程 ...
- 仿美团ViewPager+GridView
在接下来我要实现一个仿美团的效果 1.首先写一个登录注册界面用到了,很简单... 这里要提醒各位在调用方法时有set... 也有add.... 的方法,为了严谨可以做些正则判断手机号,用se ...
- 面试题思考:web中关于一些容器基本概念的简单总结
关键字:应用服务器.web服务器.web容器.jsp容器.servlet容器. 1.应用服务器: 作为应用程序服务器,要求可以通过各种协议(包括 HTTP 协议)把商业逻辑暴露给(expose)客户端 ...
- 微软向开源又迈进了一大步:Checked C
导读 微软开源了 Checked C ,这是一个 C 语言的扩展版本,可以用于解决 C 语言中的一系列安全相关的隐患.正如其名字所示,Checked C 为 C 语言增加了检查,这个检查可以帮助开发者 ...
- nginx排错error while loading shared libraries:libpcre.so.1:cannot open shared object file:No such file or directory
启动nginx报错:error while loading shared libraries:libpcre.so.1:cannot open shared object file:No such f ...