1. 程式人生 > >我的vim配置及說明【k-vim】

我的vim配置及說明【k-vim】

這是倒數第二篇文章了,新部落格即將完成


折騰整理了下,自己的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,後來整理了一份,對著敲幾遍

使用說明

  1. 使用原生vim,最好先熟悉了再來看外掛,外掛之所以為外掛,輔助性質

  2. 以下外掛,僅介紹用途優點等,詳細配置可以在github中搜索檢視詳細用途和配置

    當前vim使用配置,在vimrc中檢視

    快捷鍵為外掛預設/或者當前配置vimrc定義的,如果需要修改,檢視vimrc中對外掛配置進行修改 [sd]為自定義 [d]為預設

    有什麼問題,先看外掛文件說明->程式碼選項->github上的issues->google it

    相信我,你遇到的問題,一定別人也遇到了,大部分可解決,少部分無解….

    二八定律,關注可以最大提升自身生產力的那20%外掛,如何配置,還需要自己去親自實踐

  3. 由於平時會使用python和golang,所以語言方面的配置偏向於這兩個

    其它的可以參照網上配置(通用的外掛可以配置,具體語言外掛需要自己去研究)

  4. fork一份

    搞一份符合自己習慣的vim配置,當然,歡迎推薦好用更酷的外掛配置:)

    我的配置也會不定期更新

配置步驟

  1. clone到本地,配置到linux個人目錄(如果是從linux_config過來的,不需要clone)

     git clone [email protected]:wklken/k-vim.git
    
  2. 安裝依賴包

     sudo apt-get install ctags
     brew install ctags
    
     #使用python需要
     sudo pip install pyflakes
     sudo pip install pylint
     sudo pip install pep8
    
  3. 安裝外掛

     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
    
  4. 可能遇到的問題:

    編譯相關外掛,修改配置

    • 相對行號

    vimrc中配置,如果不習慣,可以去掉,相關參考

    • 編譯自動補全YouCompleteMe

    文件這個外掛需要Vim 7.3.584,所以,如果vim版本太低,需要編譯安裝

    • 配置主題

    到vimrc中修改colortheme,可以使用molokai(用慣sublimetext2的童鞋很熟悉)

    想要修改終端配色為solarized可以參考 這裡

截圖

solarized主題solarized

molokai主題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  相對行號絕對行號變換,
        預設用相對行號 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
,/ 去除匹配高亮

外掛及其快捷鍵說明

圖片有點多,展示有點慢,截得不是很專業,耐心看完:)

外掛管理

  1. DONE, 必裝,用於管理所有外掛

    命令列模式下管理命令:

     :BundleInstall     install
     :BundleInstall!    update
     :BundleClean       remove plugin not in list
    

導航及搜尋

  1. DONE必裝,開啟目錄樹導航

     [sd]
         ,n 開啟樹形目錄結構
         p 到上層目錄
         K 到同目錄第一個節點
         J 到同目錄最後一個節點
    

    演示thenerdtree

  2. DONE,必裝,標籤導航,緯度和taglist不同

    [sd] <F9> 開啟
    

    演示tagbar

  3. 檔案搜尋,ack/Command-T需要依賴於外部包,不喜歡有太多依賴的,除非十分強大

    演示ctrip

顯示增強

被動技能,無快捷鍵

快速移動

主動技能,需要快捷鍵
  1. 跳轉到游標後任意位置

    配置(我的leader鍵配置 let g:mapleader = ',')

     ,, + w  跳轉
     ,, + fe  查詢'e',快速跳轉定位到某個字元位置
    

    演示easy_motion

自動補全及快速編輯

主動技能,需要快捷鍵,高效編輯無上利器
  1. YCM是目前用到的最好的自動不全外掛,用這個寫程式碼太舒暢了

    這個需要自己去看官方的配置方式,演示在官方github有

    需要Vim 7.3.584 (如何編譯vim)需要編譯這個外掛(見github文件)

    這個外掛包含了以下四個外掛功能,所以不需要裝下面四個

     clang_complete
     AutoComplPop
     Supertab
     neocomplcache
     jedi(對python的補全)
    
  2. 快速批量加減註釋

    [d] shift+v+方向鍵選中(預設當前行)   ->  ,cc  加上註釋  -> ,cu 解開註釋
    

    演示nerdcommenter

  3. 快速給詞加環繞符號,例如引號

    [d]cs"' [inside]
       "Hello world!" -> 'Hello world!'
       ds"
       "Hello world!" -> Hello world!
       ysiw"
       Hello -> "Hello"
    

    演示surround

  4. code alignment

     [sd]
     ,a=  按等號切分格式化
     ,a:  按逗號切分格式化
    

具體語言

主要是python  其它語言以及前端的,用得少沒有研究使用過

python   golang   markdown

需要其它語言支援的,可以到github上撈,上面很多流行的vim配置,eg. spf13-vim
  1. python語法高亮,就是python.vim,在github,有維護和更新

  2. 靜態語法及風格檢查,支援多種語言修改了下標記一列的背景色,原有的背景色在solarized下太難看了…..

    演示syntastic

  3. 雖然這個的作者推薦使用syntastic,但是這個外掛對於pythoner還是很需要的

    因為有一個特牛的功能,fly check,即,編碼時在buffer狀態就能動態查錯標記,彌補syntastic只能儲存和開啟時檢查語法錯誤的不足

    演示 pyflakes

  4. golang語法高亮

    golang剛入門使用,專案中還沒正式開始,目前很多golang的手冊有配置vim的介紹,後續有需求再弄

其它擴充套件增強

根據自身需求自取配置,不需要的話自己註解

待考察的

  1. sjl/vitality.vim

  2. vim-scripts/Conque-Shell

    用過一陣,不大適應,回頭瞅瞅

  3. vim-scripts/YankRing.vim

    剪貼簿增強的,裝了一段時間發現用得太少,卸了….回頭看看

  4. vim-scripts/auto.git

    用過一陣,快速切換模式的

那些使用過棄用的

  1. 特性:重定義%,可以在python的if/elif/else try/except/finally等結構中跳轉,但是平時百分號用的太少,主要是不順手,卸了

    有興趣可以試試

以上外掛並沒有buffer管理的,可以搜尋安裝MiniBuferExplorer/Buferexplorer,外掛不錯,但是目前沒用習慣,暫時沒加入

The End!

wklken (凌嶽/pythoner/vim黨預備黨員)

Email: [email protected]

Github: https://github.com/wklken

Blog: http://blog.csdn.net/wklken(待遷移)

2013-06-11 於深圳

相關推薦

vim配置說明k-vim

這是倒數第二篇文章了,新部落格即將完成 折騰整理了下,自己的vim配置,託管github,支援一鍵部署  有外掛說明,截圖及動態gif展示 https://github.com/wklken/k-vim 點選直達 以下為README.md,供參考,希望有幫助 ----

egrep、bash環境配置腳本、vim編輯器

系統 Linux egrep及擴展的正則表達式 egrep = grep -E egrep [options] pattern [file..] 擴展正則表達式的元字符字符匹配.:匹配任意單個字符[root@localhost ~]# grep -E . /tmp/123ABC123boy []:匹配

VIM配置外掛入門

VIM的強大除了快捷鍵以外,就是可以自行對其進行配置或新增外掛,本文對配置及外掛使用進行了入門介紹,領進門後各自修行,推薦查閱自帶的文件 Vim本身的系統配置資料夾是在/usr/share/vim/和/etc/vim/兩個資料夾下,這裡的配置檔案影響所有使用者

Mac/Centos下Vim配置常用外掛安裝

set nocompatible              " be iMproved, requiredfiletype off                  " requiredset rtp+=~/.vim/bundle/Vundle.vimcall vundle#begin() Plugin

Centos vim配置外掛YouCompleteMe程式碼補全的安裝vimplus

Linux下的編譯器vim vim是Linux下自帶而且非常強大的編譯器,但是它與一些整合的IDE相 常簡單並且可以隨手配置出自己喜歡的風格,對於初學者當然還是建議 用原味的,要做到熟悉vim的一些基本快捷鍵。最難受到就是一些,用了 有一段時間,自己想有一個可以的開發

vim配置外掛安裝管理(超級詳細)

下載地址 http://www.vim.org/scripts/script.php?script_id=273 版本 4.4 安裝 在 ~/.vim 目錄下解壓taglist_xx.zip 手冊 :help taglist.txt 在Windows平臺上用過Source Insight看程式的人肯定很熟

Linux vim配置常見錯誤

一、vim配置 1.配置檔案的位置 首先cd ~進入工作目錄,然後ls -al看~/目錄下是否存在.vim目錄和.vimrc檔案,沒有的話,自行建立 下載地址 http://www.vim.org/scripts/script.php?script_id=273 下載完

CentOS vim配置外掛安裝

點選下載外掛:http://www.vim.org/scripts/script.php?script_id=273 下載較新版本的taglist壓縮包 ,解壓完成後,將解壓出來的doc的內容放到~/.vim/doc, 將解壓出來的plugin下的內容拷貝到~/.vim/plugin。 完成後開啟

vim 配置 NERDTree 快捷鍵

VIM配置: NERDTree: 切換工作臺和目錄 ctrl + w + h 游標 focus 左側樹形目錄 ctrl + w + l 游標 focus 右側檔案顯示視窗 ctrl + w + w 游標自動在左右側視窗切換 ctrl + w + r 移

php5.5 連線SQL SERVER 環境配置DLL檔案可下載

php5.3 及以上不能使用舊的程式碼連線方式了。 需要使用PDO或者SQLSVR (微軟的DLL) 很多安裝了WAMP以後,下載官方3.0版本的DLL覆蓋以後,提示不是有效32位程式。 經測試,微軟最新發布的microsoft Drivers 3.1 for PHP

Solr查詢配置優化eDisMax查詢解析器

一.簡介   Lucene查詢解析器語法支援建立任意複雜的布林查詢,但還有一些缺點,它不是使用者查詢處理的理想解決方案。這裡面最大的問題是Lucene查詢解析器的語法要求嚴格,一旦破壞就會丟擲異常。指望使用者在輸入關鍵詞時能夠理解Lucene查詢語法並始終能輸入完美的查詢表示式,這顯然是不合理的。這意味著,L

超詳細的 Linux CentOS yum 源的配置與使用轉發+新增

例如 download sof eas 1.2 rect addons 類型 2個 一、yum 簡介   yum,是Yellow dog Updater, Modified 的簡稱,是杜克大學為了提高RPM 軟件包安裝性而開發的一種軟件包管理器。起初是由yellow dog

軟件測試面試題答案匯總

代碼復用 尋找 質量保證 形式 協議 優先級 應對 考慮問題 調查 軟件測試面試題及答案,歡迎參考!   1、你的測試職業發展是什麽?   測試經驗越多,測試能力越高。所以我的職業發展是需要時間積累的,一步步向著高級測試工程師奔去。而且我也有初步的職業規劃,前3年積累測

netcore基礎ubuntu 16.04 搭建.net core 2.1 linux 執行環境 nginx反向代理 supervisor配置自啟動 .NetCore學習ubuntu16.04 搭建.net core mvc api 執行環境 .Net Core 部署到Ubuntu 16.0

今天來整理下netcore在linux(ubuntu)上的執行環境搭建   對應版本 ubuntu 16.04 .net core 2.1 nginx version: nginx/1.10.3 (Ubuntu) supervisor Supervisorhttp://super

NOIp-2006-T2開心的金DP基礎

1 #include<bits/stdc++.h> 2 using namespace std; 3 int N,m; 4 int cost[30],value[30]; 5 int dp[30005]; 6 7 int main(){ 8 memset(dp,0,

[bzoj1073][SCOI2007]kshortK短路

【題目連結】   https://www.lydsy.com/JudgeOnline/problem.php?id=1073 【題解】   重點:我沒有cheat   題意非常簡單,就是求aa到bb的第k大簡單路徑。普通的A*演算法並沒有可靠的複雜度保證

洛谷P1060 開心的金動規

連結:https://www.luogu.org/problemnew/show/1060 題目 題目描述 金明今天很開心,家裡購置的新房就要領鑰匙了,新房裡有一間他自己專用的很寬敞的房間。更讓他高興的是,媽媽昨天對他說:“你的房間需要購買哪些物品,怎麼佈置,你說了算

[bzoj1598][Usaco2008 Mar]牛跑步k短路

/* - - - - - - - - - - - - - - - User : VanishD problem : [bzoj1598] Points : K-th shortest road -- Yen alg

vs2017配置作業環境opengl+opencv

參考部落格: http://blog.csdn.net/songqiu65/article/details/68067715?locationNum=15&fps=1  作者:songqiu6

深度學習參考文獻資料持續更新

綜述 三大牛Yann LeCun、Yoshua Bengio和Geoffrey Hinton在深度學習領域的地位無人不知。為紀念人工智慧提出60週年,最新的《Nature》雜誌專門開闢了一個“人工智