之前寫過一篇文章關於Vim配置。那裏命令行比較多,配置起來也有一些問題。同時對於不同平臺的兼容性不是特別好。最近重裝系統和朋友聊到配置VIM。然後發現有一個寫的比較不錯的工具,可以一鍵集成配置,而且所擁有的插件,更多,更全。最最重要的是可以跨平臺Linux,Windows還有MAC都可以使用。所以這裏就來介紹一下它。
spf13-vim
官方文檔有需要或者英文好的的童鞋可以上去看看,寫的比我詳盡(我將以ubuntu 16.04系統爲例子進行介紹)
注:< leader > 鍵就是 , 鍵
安裝
要求git版本1.7+ 同時 vim版本7.3+
curl https://j.mp/spf13-vim3 -L > spf13-vim.sh && sh spf13-vim.sh
然後會看到打開了vim,並且開始自動安裝插件。請稍等片刻…
配置
基本不需要配置,它本身都已經配置好了。當然以後對VIM不滿意了可以對它進行配置。
配置文件所在位置~/.vimrc
其實配置文件還有很多,有想法的童鞋慢慢探索
1.vimrc.before - 在 spf13-vim 之前的配置
2.vimrc.before.fork - 在 fork 之前的配置
3.vimrc.before.local - 在 user 之前的配置
4.vimrc.bundles - spf13 - vim bundle 的配置
5.vimrc.bundles.fork - fork bundle 的配置
6.vimrc.bundles.local - 當前用戶的 bundle 配置
7.vimrc - spf13-vim vim 主配置
8.vimrc.fork - fork vim 主配置
9.vimrc.local - 本地用戶主配置
插件
- NERDTree-文件瀏覽器
快捷鍵 | 作用 |
---|---|
ctrl+e | 打開/關閉文件瀏覽器 |
j | 向下移動 |
k | 向上移動 |
o | 小寫字母o,打開文件或者展開目錄 |
shift+c | 即大寫字母C,當前選中目錄作爲根目錄 |
u | 上一層目錄作爲根目錄 |
:help NERDTree | NERDTree幫助手冊 |
- ctags-實現各種函數/變量跳轉至各自聲明處。
快捷鍵 | 作用 |
---|---|
ctrl+] | 當前光標處word,跳轉至相同名稱的函數處或者變量聲明處 |
ctrl+t | 跳轉的返回 |
g] | 當前光標處word,跳轉至相同名稱的函數處或者變量聲明處,不同與ctrl+],會列出所有相同名稱的標籤文件 |
PS:ctags 默認是不會自動生成 ctags 文件的,常用的 3 個生成命令如下:
$ ctags *
$ ctags -R
$ ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .
%-R: 循環生成子目錄的 tags
%*: 當前目錄下的所有文件,不遞歸
%–c++-kinds=+px : 記錄 c++ 文件中的函數聲明和各種外部和前向聲明
%–fields=+iaS : ctags 要求描述的信息,其中i表示如果有繼承,則標識出父類;a 表示如果元素是類成員的話,要標明其調用權限(即是 public 還是 private);S 表示如果是函數,則標識函數的 signature。
%–extra=+q: 強制要求ctags做如下操作—如果某個語法元素是類的一個成員,ctags默認會給其記錄一行,可以要求ctags對同一個語法元素再記一行,這樣可以保證在VIM中多個同名函數可以通過路徑不同來區分。
- tagbar-能在一個窗口中顯示當前文件的tag
注: 這個插件只展示tag,並不會做func的自動跳轉
快捷鍵 | 作用 |
---|---|
,tt | 打開當前文件的tag列表 |
vim多窗口使用技巧
列表內容
打開多個窗口
打開多個窗口的命令以下幾個:
橫向切割窗口
:new+窗口名(保存後就是文件名)
:split+窗口名,也可以簡寫爲:sp+窗口名
縱向切割窗口名
:vsplit+窗口名,也可以簡寫爲:vsp+窗口名關閉多窗口
可以用:q!,也可以使用:close,最後一個窗口不能使用close關閉。使用close只是暫時關閉窗口,其內容還在緩存中,只有使用q!、w!或x才能真能退出。
:tabc 關閉當前窗口
:tabo 關閉所有窗口- 窗口切換
:ctrl+w+j/k,通過j/k可以上下切換,或者:ctrl+w加上下左右鍵,還可以通過快速雙擊ctrl+w依次切換窗口。
PS:多窗口搭配NERDTree,簡直美滋滋。
- YouCompleteMe
在安裝YCM前,先安裝相關的包
## 標題 ##
sudo apt-get install python-dev python3-dev cmake
1
首先在~/.vimrc.before.local中添加
et g:spf13_bundle_groups=['general', 'programming', 'misc', 'scala', 'youcompleteme']
然後在vim中輸入
:BundleInstall
等在vim中安裝完成後,打開~/.vim/bundle/YouCompleteMe
./install.py --clang-completer #裝C族的自動填充包
具體的配置請查看官方文檔
- neocomplete
要求 Vim 7.3.885+ compiled with if_lua.
如果 :echo has(“lua”) 返回 1, 那麼vim就是lua版本;
否則得安裝vim-nox,安裝完以後就是lua版本。可直接使用
- - neocomplcache
到現在,我們的VIM已經和市面上強大的IDE差不多了。
好好享用Vim吧~!