继续折腾vim

话说vim这东西怎么折腾都不厌,不过在折腾的过程中也在适应,这次折腾主要涉及插件包括neocomplete,vimproc,unite以及xptemplate。

首先是neocomplete,主要是代码提示功能,以前使用neocomplcache时在插入时有延迟,之后用作者的另一款插件,不过插件需要vim编译时开启lua支持,所以得使用第三方编译的版本,这里感谢这篇文章作者提供的编译版,配置的话只是复制官方的配置并且找了下doc说明中几个选项:

let g:acp_enableAtStartup = 0
let g:neocomplete#enable_at_startup = 0
let g:neocomplete#enable_smart_case = 1
let g:neocomplete#sources#syntax#min_keyword_length = 3
let g:neocomplete#lock_buffer_name_pattern = '\*ku\*'

if !exists('g:neocomplete#keyword_patterns')
    let g:neocomplete#keyword_patterns = {}
endif
let g:neocomplete#keyword_patterns['default'] = '\h\w*'

let g:neocomplete#data_directory = $VIM . '\.cache\neocomplete'
let g:neocomplete#max_list = 5
let g:neocomplete#max_keyword_width = 15
let g:neocomplete#auto_completion_start_length = 4

配置主要是为了手动切换代码提示,为了解决跟xptemplate的冲突,也为了避免拖慢vim。下面一张简单的效果图:

之后便是这篇文章的重点,关于unite插件的使用,替代了原来的ctrlP和taglist插件,主要是ctrlP插件有段时间没有更新,不太活跃,而且unite的功能更丰富,taglist的话可以用unite-outline来代替。

unite插件的安装很简单,主要是为了支持更多的列表可以安装插件,例如:

关于为什么用unite-outline来代替taglist呢,主要是unite-outline的树状结构比taglist更直观,类似sublime中的Goto Symbol<C+r>(偶尔使用,将两款编辑器快捷键设置成一套避免重复记忆):

下面是unite的配置内容,关于unite的配置我暂时还不太熟悉,所以等熟悉了会补充:

let g:unite_update_time = 1000
let g:unite_enable_start_insert=1
let g:unite_source_history_yank_enable = 1
let g:unite_data_directory = $VIM . '\.cache\unite'
let g:neomru#file_mru_path = $VIM . '\.cache\neomru\file'
let g:neomru#directory_mru_path = $VIM . '\.cache\neomru\directory'

call unite#custom#profile('default', 'context', {
\   'start_insert': 1,
\   'winheight': 10,
\   'prompt': '? ',
\ })

最后为了完整的使用unite,可以把vimproc安装上,安装方法需要编译,作者给出了编译好的dll文件,不过我在使用的时候报错,我自己重新编译了下,OK,暂时就折腾这些,最后就是把配置文件中一些用不到map键映射去掉就大体完成了这次折腾。

顺带在这里祝各位十一快乐。

转载请注明: 本文《继续折腾vim》来源于bstaint的博客

没有评论: