Mac下面使用VIM Square

  • 作者:scsidisk
  • 最后编辑:2014年06月21日
  • 标签: MacOSX VIM

常用快捷键

`` ,d 打开 NERDTree, 文件导航侧边栏 ,t 打开 ctrlp.vim, 打开项目中的指定文件 ,b 使用 ctrlp.vim 显示已经打开的文件 ,] 打开函数列表 vim-surround \\ 切换当前行注释 \ 切换块注释 ,[space] strips trailing whitespace <C-]> 跳转到对应的标签 ,l 使用一个字符对齐, 如 ,l= 按等号对齐 <C-hjkl> 切换窗口, 标准快捷键为 <C-w> hjkl

1
2
3
4
5
### alignu

代码对齐插件

,l v选中代码,后面跟需要对齐的符号

1
2
3
4
5
### ag

全文搜索插件

:Ag [options] {pattern} [{directory}]

1
2
3
In the quickfix window, you can use:

e to open file and close the quickfix window o to open (same as enter) go to preview file (open but maintain focus on ag.vim results) t to open in new tab T to open in new tab silently h to open in horizontal split H to open in horizontal split silently v to open in vertical split gv to open in vertical split silently q to close the quickfix window

1
2
3
4
5
### ctrlp

Full path fuzzy file, buffer, mru, tag, ... finder for Vim.

,t 打开

1
2
3
快捷键

and to cycle between modes. to switch to filename only search instead of full path. to switch to regexp mode. , or the arrow keys to navigate the result list. or , to open the selected entry in a new tab or in a new split. , to select the next/previous string in the prompt's history. to create a new file and its parent directories. to mark/unmark multiple files and to open them. ``` ### Matchit 在vim中,”%“命令跳转到与当前项目相匹配的项目。例如,当光标位置在”{“时,按下%,光标就跳转到对应的”}“( :help %)。 但vim提供的%命令,只能在括号,或者C注释的开始和结束( /* */),或者C编译预处理指令间进行跳转。 扩展了%命令的功能,使%命令可以对其它程序语言的开始和结束标记间进行跳转。 目前,它可以支持Ada, ASP with VBS, Csh, DTD, Essbase, Fortran, HTML, JSP (same as HTML), LaTeX, Lua, Pascal, SGML, Shell, Tcsh, Vim, XML等语言。 ### NERDTree 快捷键: ``` 和编辑文件一样,通过h j k l移动光标定位 o 打开关闭文件或者目录,如果是文件的话,光标出现在打开的文件中 go 效果同上,不过光标保持在文件目录里,类似预览文件内容的功能 i和s可以水平分割或纵向分割窗口打开文件,前面加g类似go的功能 t 在标签页中打开 T 在后台标签页中打开 p 到上层目录 P 到根目录 K 到同目录第一个节点 J 到同目录最后一个节点 m 显示文件系统菜单(添加、删除、移动操作) ? 帮助 q 关闭 o --- 打开文件, 目录, 书签 go --- 打开选择的文件, 但不移动光标. t --- 在新的tab中打开节点和书签. T --- 同上, 但是仍留在当前tab中. i --- 在分割的窗口中打开文件 gi --- 同上, 但光标仍留在树中. s --- 在新的vsplit打开文件 gs --- 同上, 但光标仍留在树中. O --- 递归打开选择的目录 x --- 收缩当前节点的父节点. X --- 收缩当前节点的所有子节点 e --- 编辑当前目录 D --- 删除当前书签 P --- 跳到根节点 P --- 跳到当前节点的父节点 J, K --- 当前树深度上下跳转 C-J, C-K -- 当前目录相邻目录的上下跳转 C --- 改变树的根为所选择的目录 u --- 根的上一层目录为树的根 U --- 同上, 但旧的根目录仍保持打开 r --- 递归更新当前目录 R --- 递归更新当前根 cd --- 改变CWD为所选择节点的目录 CD --- 改变CWD为树根所在目录 I --- 切换模式, 表示隐藏文件是否可见. f --- 切换模式, 表示是否使用文件过滤器 F --- 切换模式, 表示文件是否可见 B --- 切换模式, 表示书签表格是否可见 ``` ### snipmate 代码块的自动补全 for/foreach/class/func + tab 生成代码段 语法文件: ~/.vim/snippets/*.snippets ### syntastic 语法检测插件 ### tagbar 标签阅读插件(兼容面向对象语言) 函数列表插件 ``` ,] 打开 ``` ### vim-colors-solarized 主题 ### vim-colorschemes 颜色集合 ### vim-commentary 注释插件 ### vim-cucumber ruby 测试框架 ### vim-endwise 添加结束符号 ### vim-fugitive 优雅地在vim里使用git ### vim-gitgutter 显示git diff状态的插件 ### vim-indent-guides 显示缩进级别 ### vim-javascript 提供javascript语法和缩进支持 ### vim-powerline 状态栏增强插件 ### Command-T Command-T是一个基于Ruby和C扩展实现的快速文件浏览的插件,类似TextMate的Go to File(Command+T呼出)功能,或Eclipse的Open Resource(Command+Shift+r)功能,可以通过模糊匹配快速定位并打开文件。 ,t 唤出 ``` ctrl+j/k 上下选择文件,选中后回车打开文件 ctrl+t 以tab方式打开文件 ctrl+s/v 可以水平或垂直分割窗口打开文件 ctrl+c 退出该模式 ``` ### ctags 严格意义上来说,ctags并不是Vim的插件,而是Linux/Unix下的标签命令。通过ctags -R命令可以对当前目录下源代码中的类、函数、方法、变量、宏等元素进行索引处理,并生成索引文件。Vim使用ctags生成的tag文件,即可实现IDE中常用的代码跳转功能,实乃居家旅行代码索引的常备利器。ctags不仅支持c/c++/java等静态语言,还支持python/perl/php/jsp等动态脚本语言,就目前我的使用情况,ctags基本不支持Objective-C,对Ruby支持的也很糟糕,随着这些语言的普及和发展,希望后续版本的ctags会对更多的编程语言有更好的支持。 如果只是通过vim命令打开文件,那么可以使用如下命令进行文件检索和浏览: ``` :ta tagname 跳转到标签tagname定义的地方 :stag tagname 在分割窗口中查看包含tagname的文件 :tags 查看到达当前位置所经过的标签路径 :ts tagname 列出匹配tagname的标签,如为空,则使用标签栈中最后的标签 :tf 跳转至第一个匹配的标签 :tl 跳转至最后一个匹配的标签 ``` 跳转快捷键: ``` ctrl-] :跳转至光标所在对象定义之处 ctrl-t :返回跳转前位置 [n]ctrl-t :[n]为数字,向回跳转n次;等价于重复n次ctrl-t操作 ```