我的VIM配置及说明【K-VIM】
我的VIM配置及說明【K-VIM】
- 我的vim配置及說明【k-vim】
- vim插件分類及快捷鍵
- vim基本用法
- 使用說明
- 配置步驟
- 其他
- 截圖
- 自定義快捷鍵說明
- 插件及其快捷鍵說明
- gmarik/vundle
- scrooloose/nerdtree
- fholgado/minibufexpl.vim
- majutsushi/tagbar
- vim-scripts/taglist.vim
- kien/ctrlp.vim
- Lokaltog/vim-powerline
- kien/rainbow_parentheses.vim
- Yggdroot/indentLine
- bronson/vim-trailing-whitespace
- altercation/vim-colors-solarized
- tomasr/molokai
- Lokaltog/vim-easymotion
- vim-scripts/matchit.zip
- Valloric/YouCompleteMe
- SirVer/ultisnips
- scrooloose/nerdcommenter
- tpope/vim-surround
- Raimondi/delimitMate
- godlygeek/tabular
- terryma/vim-expand-region
- vim-multiple-cursors
- scrooloose/syntastic
- kevinw/pyflakes-vim
- python-syntax
- jnwhiteh/vim-golang
- plasticboy/vim-markdown
- pangloss/vim-javascript
- nono/jquery.vim
- thiderman/nginx-vim-syntax
- Glench/Vim-Jinja2-Syntax
- vim-scripts/TaskList.vim
- tpope/vim-fugitive
- sjl/gundo.vim
- sjl/vitality.vim
- vim-scripts/Conque-Shell
- vim-scripts/YankRing.vim
- vim-scripts/auto.git
ps: k-vim github地址 :?https://github.com/wklken/k-vim
vim插件分類及快捷鍵
給人一條Vim 命令,他能折騰一晚上;告訴他怎么自定義Vim 命令,他能搗騰一輩子
生命不息,折騰不止 (╯‵□′)╯︵┻━┻)
編輯器之神 = 生產力(效率為王) + 性感(界面快捷鍵) + 裝x神器
vim基本用法
初學者:?vim訓練稿
幾年前的三月份,第一次正兒八經開始使用vim,后來整理了一份,對著敲幾遍,訓練稿
推薦: 耗子叔的?簡明vim練級攻略
或者,玩游戲?vim大冒險
使用說明
能熟練使用原生vim,最好先熟悉了再來使用插件擴展
以下插件,僅介紹用途優點等,可以在github中搜索查看詳細用途和配置
當前vim使用配置,在vimrc中查看
快捷鍵為插件默認/或者當前配置vimrc定義的,如果需要修改,查看vimrc中對插件配置進行修改 [sd]標記的為自定義 [d]標記的為默認快捷鍵
其它的可以參照網上配置(通用的插件可以配置,其他具體語言插件可以自己配置加入)
根據自己使用的語言,自身習慣進行修改
有些插件用不到,可以注釋刪除,有些插件沒有,可以自行添加(vundle很強大只要github上有都能配置),有些插件快捷鍵等可以自己去進一步了解
得到一份符合自己習慣的vim配置,后續能在任何地方進行一鍵配置
二八定律,關注可以最大提升自身生產力的那20%插件,具體要親自實踐有什么問題,先看插件文檔說明->代碼選項->github上的issues->google it你遇到的問題,一定別人也遇到了,大部分可解決,少部分無解….歡迎推薦好用更酷的插件配置:)
我的配置也會不定期更新,thx
PS: 這個vim配置是我的linux_config下一部分,如果需要,可以參考,主要是用于一鍵配置環境
配置步驟
clone到本地,配置到linux個人目錄(如果是從linux_config過來的,不需要clone)
git clone https://github.com/wklken/k-vim.git安裝依賴包
sudo apt-get install ctags #brew install ctags (mac用戶)#使用python需要 sudo pip install pyflakes sudo pip install pylint sudo pip install pep8安裝插件
cd k-vim/sh -x install.sh#會進入安裝插件的列表,目前30+個插件,一一安裝是從github clone的,完全取決于網速#安裝完插件后,會自動編譯YCM,注意,可能編譯失敗(缺少某些依賴包,暫不支持mac osx 10.9) 失敗的話手動編譯吧,看第4步 編譯自動補全YouCompleteMe (這步耗時也有點長,但絕對值得)install.sh 本質上做的事情 1.將vimrc/vim文件夾軟鏈接到$HOME,編程系統vim配置 2.git clone安裝vundle(clone到bundle目錄下) 3.通過vundle安裝其他所有插件(相當于進入vimrc, 命令行執行:BundleInstall),從github全部搞到本地 4.編譯需要手動編譯的插件,eg.YCM可能遇到的問題:
編譯自動補全YouCompleteMe
文檔
這個插件需要Vim 7.3.584,所以,如果vim版本太低,需要編譯安裝
- 相對行號
vimrc中配置,如果不習慣,可以去掉,相關參考
- 配置主題
到vimrc中修改colortheme,可以使用molokai(用慣sublimetext2的童鞋很熟悉)
默認配置的是solarized dark主題
想要修改終端配色為solarized可以參考?這里
其他
可能發現打開vim很慢,可能是插件有點多了,這個配置插件全開
去掉某些自己用不到的插件: 編輯vimrc,注釋掉插件對應Bundle行即可(加一個雙引號),保存退出即可
"Bundle 'fholgado/minibufexpl.vim'如果想從物理上清除(刪除插件文件),注釋保存后再次進入vim
命令行模式,執行:
:BundleClean如果要安裝新插件,在vimrc中加入bundle,然后執行
:BundleInstall更新插件
:BundleUpdate可以使用mac vim
首先,安裝最新mac vim ,可以正常打開
然后(需要sudo)
mv /usr/bin/vim /usr/bin/vim.bkln -s /usr/local/bin/mvim /usr/bin/vim最后,在.bashrc/.bash_profile中加入
alias vi='mvim -v'alias vim='mvim -v'配置完成
插件很多,并且其默認快捷鍵或者配置可能發生沖突
當加入新插件發現有沖突或者展現有問題
排除法進行排查:注掉所有插件或配置,然后二分法逐一恢復,可以定位到出現問題的插件或配置
截圖
solarized主題
molokai主題
自定義快捷鍵說明
F1 關掉,防止跳出幫助 F2 set nu/nonu F3 set list/nolist F4 set wrap/nowrap F5 set paste/nopaste F6 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 edit ctrl+n 相對行號絕對行號變換,默認用相對行號 5j/5k 在相對行號模式下,往上移動5行 往下移動5行,y 展示歷史剪貼板 ,yc 清空 yy/dd -> p -> ctrl+p可以替換非最近一次剪貼內容,p 開啟文件搜索 ctrlp ,/ 去除匹配高亮插件及其快捷鍵說明
圖片有點多,展示有點慢,截得不是很專業,耐心看完:)
插件管理
gmarik/vundle
必裝,用于管理所有插件
命令行模式下管理命令:
:BundleInstall install :BundleInstall! update :BundleClean remove plugin not in list導航及搜索
scrooloose/nerdtree
必裝,開啟目錄樹導航
[sd],n 打開 關閉樹形目錄結構在nerdtree窗口常用操作:(小寫當前,大寫root)x.......Close the current nodes parent收起當前目錄樹R.......Recursively refresh the current root刷新根目錄樹r.......Recursively refresh the current directory刷新當前目錄P.......Jump to the root nodep.......Jump to current nodes parentK.......Jump up inside directories at the current tree depth 到同目錄第一個節點J.......Jump down inside directories at the current tree depth 最后一個節點o.......Open files, directories and bookmarksi.......Open selected file in a split window上下分屏s.......Open selected file in a new vsplit左右分屏演示
fholgado/minibufexpl.vim
必裝,buffer管理, 可以查找其他同類插件
[sd]<Tab> 切換buffer左右方向鍵 切換buffer,bn 切到后一個,bp 切到前一個,bd 關閉當前buffermajutsushi/tagbar
必裝,標簽導航,緯度和taglist不同
[sd] <F9> 打開演示
vim-scripts/taglist.vim
必裝
[sd] <F8>打開演示:
kien/ctrlp.vim
文件搜索,ack/Command-T需要依賴于外部包,不喜歡有太多依賴的,除非十分強大, 具體?文檔
[sd] ,p 打開ctrlp搜索[sd] ,f 相當于mru功能,show recently opened filesctrl + j/k 進行上下移動演示
顯示增強
被動技能,無快捷鍵Lokaltog/vim-powerline
必裝,狀態欄美觀
演示
kien/rainbow_parentheses.vim
必裝,括號高亮
演示
Yggdroot/indentLine
選裝,裝不裝看個人喜好了,縮進標識
另一個類似的,整塊背景色的的,nathanaelkane/vim-indent-guides,自選吧, 看來看去還是st2的好看,唉
調整顏色和solarized一致,不至于太顯眼影響注意力,可以根據自己主題設置顏色(顏色)
演示:
bronson/vim-trailing-whitespace
將代碼行最后無效的空格標紅
altercation/vim-colors-solarized
經典主題,目前我使用的,看起來舒服
tomasr/molokai
用sublime text2的同學應該很熟悉, 另一個主題,可選,偶爾換換味道
快速移動
主動技能,需要快捷鍵Lokaltog/vim-easymotion
必裝,效率提升殺手锏,跳轉到光標后任意位置
配置(我的leader鍵配置 let g:mapleader = ',')
,, + w 跳轉,, + fe 查找'e',快速跳轉定位到某個字符位置演示
vim-scripts/matchit.zip
選裝
% 匹配成對的標簽,跳轉
自動補全及快速編輯
主動技能,需要快捷鍵,高效編輯無上利器Valloric/YouCompleteMe
必裝,強烈推薦
YCM是我目前用到的最好的自動補全插件,我只能說,用這個寫代碼太舒暢了
需要編譯這個插件(見github文檔)
這個需要自己去看官方的配置方式,演示在官方github有
需要Vim 7.3.584 以上版本(如何編譯vim)
這個插件包含了以下四個插件功能,所以不需要裝下面四個
clang_completeAutoComplPopSupertabneocomplcachejedi(對python的補全)快捷鍵:
,gd 跳到聲明位置, 僅 filetypes: c, cpp, objc, objcpp, python 有效SirVer/ultisnips
必裝,效率殺手锏,快速插入自定義的代碼片段
自動補全加這個,高效必備, 針對各種語言已經帶了一份配置了,可以到安裝目錄下查看具體,我有針對性補全一份,在snippets目錄下,可自行修改
演示
scrooloose/nerdcommenter
必裝,另一個大大提升效率的地方,快速批量加減注釋
[d] shift+v+方向鍵選中(默認當前行) -> ,cc 加上注釋 -> ,cu 解開注釋演示
tpope/vim-surround
必裝,很給力的功能,快速給詞加環繞符號,例如引號
tpope/vim-repeat
repeat進行增強,'.'可以重復命令
[d]cs"' [inside]"Hello world!" -> 'Hello world!'ds""Hello world!" -> Hello world!ysiw"Hello -> "Hello"演示
Raimondi/delimitMate
必裝,輸入引號,括號時,自動補全
對python的docstring 三引號做了處理(只處理""", '''暫時沒配,可以自己加)
演示
godlygeek/tabular
選裝,代碼格式化用的,code alignment
[sd],a= 按等號切分格式化,a: 按逗號切分格式化terryma/vim-expand-region
選裝,visual mode selection
視圖模式下可伸縮選中部分,用于快速選中某些塊
演示(直接取鏈到其github圖)
vim-multiple-cursors
選裝,多光標批量操作
[sd]ctrl + m 開始選擇ctrl + p 向上取消ctrl + x 跳過esc 退出演示(官方演示圖)
語法檢查
scrooloose/syntastic
建議安裝,靜態語法及風格檢查,支持多種語言
修改了下標記一列的背景色,原有的背景色在solarized下太難看了…..
演示
kevinw/pyflakes-vim
雖然這個的作者推薦使用syntastic,但是這個插件對于pythoner還是很需要的
因為有一個特牛的功能,fly check,即,編碼時在buffer狀態就能動態查錯標記,彌補syntastic只能保存和打開時檢查語法錯誤的不足
演示
具體語言
主要是python 其它語言以及前端的,用得少沒有研究使用過 python golang markdown 需要其它語言支持的,可以到github上撈,上面很多流行的vim配置,eg. spf13-vim 以下均為選裝,根據自己需要python-syntax
使用Python建議安裝,python語法高亮,就是python.vim,在github,有維護和更新
jnwhiteh/vim-golang
使用golang建議安裝, golang語法高亮
golang剛入門使用,項目中還沒正式開始,目前很多golang的手冊有配置vim的介紹,后續有需求再弄
plasticboy/vim-markdown
markdown語法,編輯md文件
pangloss/vim-javascript
偶爾會看看js,頻率不高
nono/jquery.vim
jquery高亮
thiderman/nginx-vim-syntax
nginx配置文件語法高亮,常常配置服務器很有用
Glench/Vim-Jinja2-Syntax
jinja2 語法高亮
其它擴展增強
根據自身需求自取配置,不需要的話自己注解vim-scripts/TaskList.vim
查看并快速跳轉到代碼中的TODO列表
重構代碼時一般通讀,標記修改位置,非常實用
[sd],td 打開todo列表演示
tpope/vim-fugitive
git插件
不是很習慣,所以用的次數太少,目前和現有配置快捷鍵有沖突,尚未解決
sjl/gundo.vim
編輯文件時光機
[sd] ,h 查看文件編輯歷史待考察的
sjl/vitality.vim
vim-scripts/Conque-Shell
vim-scripts/YankRing.vim
vim-scripts/auto.git
The End!
wklken (凌岳/pythoner/vim黨預備黨員)
Email: wklken@yeah.net
Github:?https://github.com/wklken
Blog:?http://wklken.me
2013-06-11 于深圳
from:?http://www.wklken.me/posts/2013/06/11/linux-my-vim.html
總結
以上是生活随笔為你收集整理的我的VIM配置及说明【K-VIM】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 语言中 Enum 类型的使用介
- 下一篇: Spring MVC快速入门