vim实用技巧
2012-11-07 08:55
483 查看
今天把自己的vim配置文件重新整理了一番,去掉一些自己平常不用的配置,着重提升了vim自带的omni complete代码不全功能和vimgrep的查找功能配置。这里总结一下。
首先是vimgrep, 用法很简单,:vimgrep /pattern/gi **,表示再当前文件夹(包括子文件夹)下的所有文件中查找pattern模式。默认情况查找到的匹配结果会更新quickfix窗口,如果没有打开quickfix窗口,则需要用:cw命令打开。这一点让我感觉很不好,我需要搜索完成后可以直接看到搜索结果。于是我查阅了vim的帮助文档,利用autocmd命令结合QuickFixCmdPost事件成功做了我想要的效果。QuickFixCmdPost表示在一个quickfix命令执行之后,跳转到第一个匹配之前。quickfix命令就是grep, vimgrep, make之类的命令。将一下代码添加到.vimrc配置文件中即可。
第二个让我很兴奋的是new omni complete,vim默认支持多种主流语言的代码补全,css, javascript,php等等,尤为重要的是它还提供python代码的priview功能,请看下图。
很酷,对吧。vim默认没有开启这一功能,需要稍加设置,而且默认情况下priview的窗口是在窗口的顶端,而不是窗口的下面,同样我做了一些小手脚,来满足我完美主义者的一点私欲。
最后我要分享的是功能非常强大command-t插件,它可以像IDE一样给你一个当前目录下所有文件的列表,然后根据你的输入查找你想编辑的文件,非常快捷方便。给个预览。
github上的链接:https://github.com/wincent/Command-T,
Happy coding!
首先是vimgrep, 用法很简单,:vimgrep /pattern/gi **,表示再当前文件夹(包括子文件夹)下的所有文件中查找pattern模式。默认情况查找到的匹配结果会更新quickfix窗口,如果没有打开quickfix窗口,则需要用:cw命令打开。这一点让我感觉很不好,我需要搜索完成后可以直接看到搜索结果。于是我查阅了vim的帮助文档,利用autocmd命令结合QuickFixCmdPost事件成功做了我想要的效果。QuickFixCmdPost表示在一个quickfix命令执行之后,跳转到第一个匹配之前。quickfix命令就是grep, vimgrep, make之类的命令。将一下代码添加到.vimrc配置文件中即可。
autocmd QuickFixCmdPost * :cl
第二个让我很兴奋的是new omni complete,vim默认支持多种主流语言的代码补全,css, javascript,php等等,尤为重要的是它还提供python代码的priview功能,请看下图。
很酷,对吧。vim默认没有开启这一功能,需要稍加设置,而且默认情况下priview的窗口是在窗口的顶端,而不是窗口的下面,同样我做了一些小手脚,来满足我完美主义者的一点私欲。
" omni complete setting autocmd FileType python set omnifunc=pythoncomplete#Complete autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS autocmd FileType html set omnifunc=htmlcomplete#CompleteTags autocmd FileType css set omnifunc=csscomplete#CompleteCSS autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags autocmd FileType php set omnifunc=phpcomplete#CompletePHP autocmd FileType c set omnifunc=ccomplete#Complete " use ctrl+o instead of ctrl+x ctrl+o for fast typing inoremap <C-O> <C-X><C-O> " Preview window on the bottom function! PreviewDown() if !&previewwindow silent! wincmd P endif if &previewwindow silent! wincmd J silent! wincmd p endif endf au BufWinEnter * call PreviewDown() " autoclose preview window when leave insert mode autocmd InsertLeave * if pumvisible() == 0|pclose|endifAll as you wish!
最后我要分享的是功能非常强大command-t插件,它可以像IDE一样给你一个当前目录下所有文件的列表,然后根据你的输入查找你想编辑的文件,非常快捷方便。给个预览。
github上的链接:https://github.com/wincent/Command-T,
Happy coding!
相关文章推荐
- Vim 实用技术,第 1 部分: 实用技巧
- VIM实用基本操作技巧
- vim实用技巧
- Vim实用技巧高清完整版PDF中文
- Vim实用技巧使用手册
- Vim实用技巧使用手册
- vim的一些实用技巧
- Vim 实用技术,第 1 部分: 实用技巧
- 实用技巧:Linux操作系统Vim/Vi编程提速
- Vim实用技巧pdf
- Vim 实用技巧,一些自己常用到的命令
- <vim实用技巧>学习笔记
- Vim实用技巧系列 - tab和空格的转换
- Vim 实用技术,第 1 部分: 实用技巧
- VIM简介与实用技巧
- Vim实用技巧(更新ing...)
- 文本编辑器VIM的七项实用操作技巧(cp:http://www.csdn.net/article/2014-09-01/2821479)
- 针对高级用户的 Vim 编辑实用技巧
- vim实用技巧
- VIM 实用技巧 小记