怎樣用vi(vim) 編程二

來源:互聯網
上載者:User

前一篇文章 http://www.cnblogs.com/amaoxiaozhu/archive/2012/03/23/2414007.html 

大硬碟兄推薦的文章,非常有協助:

   http://blog.csdn.net/wooin/article/details/1858917

 

零、 代碼補全

  無比強大的功能,編輯模式下

  ctrl+p 或 ctrl + n: 補齊單詞 寫代碼要養成好習慣,能補全就不自己寫。

  ctrl+x +l : 找到相同的行進行補全  類似於拷貝的功能

  ctrl+x +f : 補全路徑  這個很有用,比如我需要在tags裡面添加系統路徑的時候,記住/usr/lib/python2.6沒準是件挺不好做的事~

  ctrl+x +D: 補全宏  其實可以用ctrl + p 來實現

  

一、顏色

     python代碼寫的比較多,扒了一個IDLE的樣式,大家有什麼好看的可以推薦下

     http://www.vim.org/scripts/download_script.php?src_id=15771

   

 

二、 強大的標籤ctags

  0.  最好可以讓本機版本超過5.0,不然以後用taglist外掛程式,也會顯示unrecognized option '--format=2' 一類的error  

    ctags:官網

  1. 在要進列標籤的原始碼目錄下進行預先處理,比如這裡用的是ctags -R *.py

  2. 跳躍至定義處:ctrl+] 跳回來 : ctrl+t

   3.  設定多個tags路徑:只在自己的項目跳來跳去,想看系統函數了怎麼辦? 用:!man 就好了,但是想看python的庫函數怎麼辦?

    編輯自己的vimrc 可以直接在vi中:e $MYVIMRC 不過當然不用輸入這麼多,輸入完MY,基本就能用tab補完了,

    set tags=./tags,/usr/lib/python2.6/tags

  4.  展示某個關鍵詞的所有tags:

    :ts 關鍵詞 在想快速找到函數定義的時候使用

 

三、 常用的外掛程式

  外掛程式安裝步驟: 

    1 拷貝到對應的檔案夾,可以選擇的地方是$HOME/.vim  $HOME/vimfiles 或 $VIM/vimfiles

    2 進入doc檔案夾,開啟vi,執行 :helptags . 將協助文檔添加進來

    3 根據需要配置.vimrc檔案 利用let設定一些環境

 

  常用命令:

  ctrl+w +w 視窗切換

  ctrl+w +o 只顯示當前表單

 

  外掛程式推薦

  1 taglist 用過了就知道好!

  : http://www.vim.org/scripts/script.php?script_id=273

  常用配置:

  只顯示當前文檔列表,只有列表視窗時關閉,右側顯示列表樹

    let Tlist_Show_One_File=1
    let Tlist_Exit_OnlyWindow=1
       let Tlist_Use_Right_Window = 1

  進入命令 :Tl[tab]補全即可

  常用命令:

    x 最大化/恢複 Tlist視窗

    - 或 zc 摺疊

    + 或 zo 彈開

    = 全部摺疊

    * 全部開啟

    

  2. Grep 覺得這個應該是必備了

  下載:http://www.vim.org/scripts/script.php?script_id=311

  :Grep  或者      直接綁定到快速鍵
      map <silent> <F7> :Grep<CR><CR><CR> 直接在目前的目錄下全部搜尋

  

  要注意的是,putty裡面keyboard中的特殊映射會把F1-F12對應到不同的發送內容上去,可以在terminal中的keyboard選擇

     The Function keys and keypad 對應到Xterms使得F5之後的可用:)

  

  其他的我還下載了matrix.vim       一個好玩的小外掛程式

          pydiction-1.2      python代碼補全

          nerdtree         用的不多,需要的時候瀏覽下目錄

          omnicppcomplete-0.41    c類代碼補全

四、 宏錄製

  強大的文字編輯器都必須支援的功能

  p[a-z] : 接下來的動作錄製儲存到字母x中

  接著執行一段命令,然後Esc,q 。這樣之前的動作就儲存起來了。

  n@[a-z]: 調用宏n次

  比如我常喜歡做的全文本注釋掉:

  0. gg  1. qa  2. i  3.#  4. Esc  5.j  6. q  7. 100@a

  當然也可以使用文藝的方法:%s/^/#

五、替換

想要替換一段文本,但又不知道起始和終止的行數,可以輸入V進入,visual模式,向上或向下包含住選擇的文本,再執行:會出現:'<' '>'的樣式,這樣輸入s/old/new/g 就全部替換了選中文本裡的內容了。

 

暫時用的開發就是這些了,覺得個人寫代碼足夠應付的過來了。貼下.vimrc 以後會慢慢再更新

set autoindent
set syntax=on
set softtabstop=4
filetype plugin on
colorscheme IDLE

let g:pydiction_location='/root/conf/vi/complete-dict'

let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
let Tlist_Use_Right_Window = 1

set tags=./tags,/usr/lib/python2.6/tags
map <silent> <F7> :Grep<CR><CR><CR>
imap <silent> <F7> <ESC>:Grep<CR><CR><CR>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.