這是倒數第二篇文章了,新部落格即將完成
折騰整理了下,自己的vim配置,託管github,支援一鍵部署
有外掛程式說明,截圖及動態gif展示
https://github.com/wklken/k-vim
點擊直達
以下為README.md,供參考,希望有協助
------------------------------------------
vim外掛程式分類及快速鍵
給人一條Vim 命令,他能折騰一晚上;告訴他怎麼自訂Vim 命令,他能搗騰一輩子
生命不息,折騰不止 寫在前面
用vim,將近兩年,用原生的用了很長一段時間,後來也折騰過幾次,用過網上流行的配置,但總感覺很多地方不能滿足需求.後來決定自己搞一個,參考了很多,往往一個功能有多個外掛程式,會逐一嘗試使用一段時間,之後才決定用哪個例如補全,python的從pydiction到最近的jedi和python-mode,最終找到了YCM外掛程式,首先,要能提高生產力(提升效率),所以要找最給力的其次,要漂亮(快速鍵和介面),用著有一點點不舒服就自訂最後,才是酷(裝X神器....額,不提倡,(╯‵□′)╯︵┻━┻)
PS: 這個vim配置是我的linux_config下一個一部分,如果需要,可以參考,主要是一鍵配置環境 vim基本用法
初學者: vim訓練稿兩年前的三月份,第一次開始使用vim,後來整理了一份,對著敲幾遍
推薦: 耗子叔的 簡明vim練級攻略
或者,玩遊戲 vim大冒險 使用說明
使用原生vim,最好先熟悉了再來看外掛程式,外掛程式之所以為外掛程式,輔助性質
以下外掛程式,僅介紹用途優點等,詳細配置可以在github中搜尋查看詳細用途和配置
當前vim使用配置,在vimrc中查看
快速鍵為外掛程式預設/或者當前配置vimrc定義的,如果需要修改,查看vimrc中對外掛程式配置進行修改 [sd]為自訂 [d]為預設
有什麼問題,先看外掛程式文檔說明->代碼選項->github上的issues->google it
相信我,你遇到的問題,一定別人也遇到了,大部分可解決,少部分無解….
二八定律,關注可以最大提升自身生產力的那20%外掛程式,如何配置,還需要自己去親自實踐
由於平時會使用python和golang,所以語言方面的配置偏向於這兩個
其它的可以參照網上配置(通用的外掛程式可以配置,具體語言外掛程式需要自己去研究)
fork一份
搞一份符合自己習慣的vim配置,當然,歡迎推薦好用更酷的外掛程式配置:)
我的配置也會不定期更新 配置步驟
clone到本地,配置到linux個人目錄(如果是從linux_config過來的,不需要clone)
git clone git@github.com:wklken/k-vim.git
安裝依賴包
sudo apt-get install ctags brew install ctags #使用python需要 sudo pip install pyflakes sudo pip install pylint sudo pip install pep8
安裝外掛程式
cd k-vim/ sh install.sh #會進入安裝外掛程式的列表,目前31個外掛程式,一一安裝是從github clone的,完全取決於網速 #安裝完外掛程式後,會自動編譯YCM,注意,可能編譯失敗(缺少某些依賴包),失敗的話手動編譯吧,看第4步 編譯自動補全YouCompleteMe (這步耗時也有點長,但絕對值得) install.sh 本質上做的事情 1.將vimrc/vim檔案夾軟串連到$HOME,編程系統vim配置 2.git clone安裝vundle(clone到bundle目錄下) 3.通過vundle安裝其他所有外掛程式(相當於進入vimrc, 命令列執行:BundleInstall) 4.編譯需要手動編譯的外掛程式,eg.YCM
可能遇到的問題:
編譯相關外掛程式,修改配置 相對行號
vimrc中配置,如果不習慣,可以去掉,相關參考 編譯自動補全YouCompleteMe
文檔這個外掛程式需要Vim 7.3.584,所以,如果vim版本太低,需要編譯安裝 配置主題
到vimrc中修改colortheme,可以使用molokai(用慣sublimetext2的童鞋很熟悉)
預設配置的是solarized dark主題
想要修改終端配色為solarized可以參考 這裡 截圖
solarized主題
molokai主題 自訂快速鍵說明
以下快速鍵中==
F1 關掉,防止跳出協助F2 set nu/nonuF3 set list/nolistF4 set wrap/nowrapF5 set paste/nopasteF6 syntax on/off空格 /開啟尋找Y =y$ 複製到行尾w!! 以sudo的許可權儲存kj <Esc>,不用到角落去按esc了t 新起一行,下面,不進入插入模式T 新起一行,上面,sa 全選(select all)hjkl 上下左右,強迫使用,要解開的自己改ctrl + jkhl 進行上下左右視窗跳轉,不需要ctrl+w+jkhl,tn new tab,tc tab close,to tab only,tm tab move,te new tab editctrl+n 相對行號絕對行號變換, 預設用相對行號 http://jeffkreeftmeijer.com/2012/relative-line-numbers-in-vim-for-super-fast-movement/5j/5k 在相對行號模式下,往上移動5行 往下移動5行,不喜歡註解line 142附近relativenumber配置,y 展示曆史剪貼簿,yc 清空yy/dd -> p -> ctrl+p可以替換非最近一次剪貼內容,p 開啟檔案搜尋 ctrlp,/ 去除匹配高亮
外掛程式及其快速鍵說明
圖片有點多,展示有點慢,截得不是很專業,耐心看完:)
外掛程式管理 gmarik/vundle
DONE, 必裝,用於管理所有外掛程式
命令列模式下管理命令:
:BundleInstall install :BundleInstall! update :BundleClean remove plugin not in list
導航及搜尋 vim-scripts/The-NERD-tree
DONE必裝,開啟分類樹導航
[sd] ,n 開啟樹形目錄結構 p 到上層目錄 K 到同目錄第一個節點 J 到同目錄最後一個節點
示範 majutsushi/tagbar
DONE,必裝,標籤導航,緯度和taglist不同
[sd] <F9> 開啟
示範 vim-scripts/taglist.vim
DONE,必裝
[sd] <F8>開啟
示範: kien/ctrlp.vim
檔案搜尋,ack/Command-T需要依賴於外部包,不喜歡有太多依賴的,除非十分強大
示範
顯示增強
被動技能,無快速鍵
Lokaltog/vim-powerline
DONE, 必裝
示範 kien/rainbow_parentheses.vim
DONE,必裝
示範 Yggdroot/indentLine
DONE,裝不裝看個人喜好了,縮排標識
另一個類似的,整塊背景色的的,nathanaelkane/vim-indent-guides
看來看去還是st2的好看,唉
調整顏色和solarized一致,不至於太顯眼影響注意力,可以根據自己主題設定顏色(顏色)
示範: bronson/vim-trailing-whitespace
將程式碼最後無效的空格標紅 altercation/vim-colors-solarized
DONE, 主題,目前我使用的,看起來舒服 tomasr/molokai
DONE, 另一個主題,可選,偶爾換換味道
快速移動
主動技能,需要快速鍵
Lokaltog/vim-easymotion
跳轉到游標後任意位置
配置(我的leader鍵配置 let g:mapleader = ',')
,, + w 跳轉 ,, + fe 尋找'e',快速跳轉定位到某個字元位置
示範 vim-scripts/matchit.zip
% 匹配成對的標籤,跳轉
自動補全及快速編輯
主動技能,需要快速鍵,高效編輯無上利器
Valloric/YouCompleteMe
YCM是目前用到的最好的自動不全外掛程式,用這個寫代碼太舒暢了
這個需要自己去看官方的配置方式,示範在官方github有
需要Vim 7.3.584 (如何編譯vim)需要編譯這個外掛程式(見github文檔)
這個外掛程式包含了以下四個外掛程式功能,所以不需要裝下面四個
clang_complete AutoComplPop Supertab neocomplcache jedi(對python的補全)
vim-scripts/UltiSnips
快速插入自訂定義好的程式碼片段
自動不全加這個,高效必備
示範 scrooloose/nerdcommenter
快速批量加減注釋
[d] shift+v+方向鍵選中(預設當前行) -> ,cc 加上注釋 -> ,cu 解開注釋
示範 tpope/vim-surround
快速給詞加環繞符號,例如引號
tpope/vim-repeatrepeat進行增強,'.'可以重複命令
[d]cs"' [inside] "Hello world!" -> 'Hello world!' ds" "Hello world!" -> Hello world! ysiw" Hello -> "Hello"
示範 Raimondi/delimitMate
輸入引號,括弧時,自動補全
示範 godlygeek/tabular
code alignment
[sd] ,a= 按等號切分格式化 ,a: 按逗號切分格式化
具體語言
主要是python 其它語言以及前端的,用得少沒有研究使用過python golang markdown需要其它語言支援的,可以到github上撈,上面很多流行的vim配置,eg. spf13-vim
python-syntax
python文法高亮,就是python.vim,在github,有維護和更新 scrooloose/syntastic
靜態文法及風格檢查,支援多種語言修改了下標記一列的背景色,原有的背景色在solarized下太難看了…..
示範 kevinw/pyflakes-vim
雖然這個的作者推薦使用syntastic,但是這個外掛程式對於pythoner還是很需要的
因為有一個特牛的功能,fly check,即,編碼時在buffer狀態就能動態查錯標記,彌補syntastic只能儲存和開啟時檢查語法錯誤的不足
示範 jnwhiteh/vim-golang
golang文法高亮
golang剛入門使用,項目中還沒正式開始,目前很多golang的手冊有配置vim的介紹,後續有需求再弄 plasticboy/vim-markdown
markdown文法,編輯md檔案 pangloss/vim-javascript
偶爾會看看js,頻率不高
其它擴充增強
根據自身需求自取配置,不需要的話自己註解
vim-scripts/TaskList.vim
查看並快速跳轉到代碼中的TODO列表
重構代碼時一般通讀,標記修改位置,非常實用
[sd],td 開啟todo列表
示範 tpope/vim-fugitive
git外掛程式不是很習慣,所以用的次數太少,目前和現有配置快速鍵有衝突,尚未解決 sjl/gundo.vim
編輯檔案時光機
[sd] ,h 查看檔案編輯曆史
vim-scripts/mru.vim
最近開啟檔案清單
[sd] ,f show recently opened files
thiderman/nginx-vim-syntax
nginx設定檔文法高亮,常常設定管理員很有用 Glench/Vim-Jinja2-Syntax
jinja2 文法高亮 nono/jquery.vim
jquery高亮
待考察的 sjl/vitality.vim vim-scripts/Conque-Shell
用過一陣,不大適應,回頭瞅瞅 vim-scripts/YankRing.vim
剪貼簿增強,裝了一段時間發現用得太少,卸了….回頭看看 vim-scripts/auto.git
用過一陣,快速切換模式的
那些使用過棄用的 vim-scripts/python_match.vim
特性:重定義%,可以在python的if/elif/else try/except/finally等結構中跳轉,但是平時百分比符號用的太少,主要是不順手,卸了
有興趣可以試試 yonchu/accelerated-smooth-scroll
上下移動時,平滑滾動,用了一段時間,不大適應,卸了,看個人喜好 ervandew/supertab
YouCompleteMe內建包含了,所以不需要了 nathanaelkane/vim-indent-guides
塊狀的縮排標識,但是總是配得很醜,廢棄用了豎線的那個
以上外掛程式並沒有buffer管理的,可以搜尋安裝MiniBuferExplorer/Buferexplorer,外掛程式不錯,但是目前沒用習慣,暫時沒加入
The End!
wklken (淩嶽/pythoner/vim黨預備黨員)
Email: wklken@yeah.net
Github: https://github.com/wklken
Blog: http://blog.csdn.net/wklken(待遷移)
2013-06-11 於深圳