VIM 筆記 (for python )

來源:互聯網
上載者:User
文章目錄
  • 配置
  • 最有用的命令
  • 有用的外掛程式
  • 為Python做設定
Technorati 標籤: vim

彙集網上各位兄台的內容,自己做了個筆記

配置最常用配置

set nocompatible  "使得vim避免了原始vi的一些漏洞和限制

set autoindent      "使用你當前行的縮排來設定你下一行的縮排

set smartindent  "自動根據當前行的縮排,預測下一行的縮排

 

"在文本縮排時使用4格定位字元(自動或者手動調整縮排)
set tabstop=4
set shiftwidth=4

set expandtab "將輸入的TAB自動延伸成空格。開啟後要輸入TAB,需要Ctrl-V<TAB>
set softtabstop=4 "方便在開啟了et後使用退格(backspace)鍵,每次退格將刪除X個空格

 

set nobackup    "取消備份檔案

set showmatch   "游標快速定位到匹配的括弧

set guioptions-=T "去掉工具條
set guioptions-=m "去掉功能表列

 

set vb t_vb=  "屏蔽遇到無效命令時發出的蜂鳴聲,而用一個快速的閃爍取而代之
set ruler        "確保每一個視窗都包行一個顯示當前游標位置的狀態列
set nohls      "預設情況下,尋找到的內容會被高亮顯示。這個命令關閉了高亮顯示尋找內容
set incsearch  "當輸入字元時,快速將游標定位到相應的位置

最有用的命令
. 輸入‘.’(一個句號)能重複上一條執行的命令
K 進入當前游標下字串的命令解釋頁面(例如如果你游標在sleep上,按下K鍵你就能看到sleep的命令解釋頁面)
% 將游標定位在大括弧,中括弧...上,然後按下輸入%,將能讓游標定位於該大括弧或是中括弧的另一半上
CTRL-V 塊操作,如給每行加註釋#:

1, Ctrl + V (windows 下為Ctrl + Q) 進入 VIM 的塊操作模式.

2, 使用 j, k 鍵上下移動,選中這三行,需要確保每行的首列包含在選中塊中。

3, 鍵入 I (大寫 i),即在行首插入。 輸入 Python 的注釋符 ‘#’。

4, 按下 ESC 鍵。

:%!xxd 查看檔案的十六進位編碼, 返迴文本狀態 :%!xxd -r
   
   
:help options  查看所有VIM提供的選項
有用的外掛程式
NERD Commenter 協助你成塊的注釋和反注釋代碼
snipMate

實現程式碼片段,如在 c 檔案中輸入 for <tab> , 則自動輸入整個for迴圈需要的程式碼片段。
為了不和pydiction 爭用 <tab> 鍵,改plugin/snipMate.vim,使得snipMate用ctrl+j :

ino <silent> <c-j> <c-r>=TriggerSnippet()<cr>
"ino <silent> <tab> <c-r>=TriggerSnippet()<cr>
snor <silent> <c-j> <esc>i<right><c-r>=TriggerSnippet()<cr>
"snor <silent> <tab> <esc>i<right><c-r>=TriggerSnippet()<cr>

Snippetsemu 實現程式碼片段,和snipMate一樣
為Python做設定

autocmd FileType python setlocal et sta sw=4 sts=4  "4個空格替代TAB

程式碼摺疊功能

python_fold

命令: zo 展開; zc 折起;  zn  全部展開;  zN 全部折起

代碼補全(pydiction)
  • 拷貝檔案python_pydiction.vim到 C:\Program Files\Vim\vimfiles\ftplugin 或 ~/.vim/after/ftplugin/
  • 拷貝檔案 pydiction.py和complete-dict到 C:\Program Files\Vim\vimfiles\ftplugin\pydiction 或 ~/.vim/after/ftplugin/pydiction(當然,放到任何地方都可以,你只要在接下的vimrc檔案中把位置配對即可
  • 編輯 vimrc檔案

 

filetype plugin on
let g:pydiction_location='C:\Program Files\Vim\vimfiles\ftplugin\pydiction\complete-dict'

  • 使用方法

<tab> 鍵 呼出待選項

待選項列表菜單出來後,可以通過tab 向下選擇,shift+tab反向選擇(上下箭頭也可)

不滿意就前點別的鍵(自己試試便知)

代碼補全(pysmell)

這個東東和pydiction用處差不多,選一個搞就行了。大概的區別是:

  • 按鍵沒有pydiction方便
  • 字典資訊放在項目目錄裡,不汙染全域,這個想法不錯

easy_install pysmell

copy pysmell.vim to ~/.vim/plugins

編輯vimrc:  

autocmd FileType python setlocal omnifunc=pysmell#Complete

imap <F4> <C-X><C-O>  “把預設的Ctrl – X + O 改為 F4

到Python 目錄下  

pysmell . -x site-package test -o PYSMELLTAGES.pythonlib;

pysmell site-package/django -o PYSMELLTAGES.django

項目目錄下

pysmell . -o PYSMELLTAGS

就可以使用Vim 的自動補全了,按鍵:

F4  呼出待選視窗

Ctrl – N 向下選擇

Ctrl – P 向上選擇

代碼檢查

pyflakes-vim ,安裝很簡單,懶得翻了:

1. Make sure your vimrc has "filetype plugin indent on" so that pyflake-vim's ftplugin files are loaded automatically when you open a Python buffer.
2. Drop extracted files in ~/.vim/ftplugin/python.

有問題的代碼下面會有破浪號,游標移過去就可以在狀態列看到錯誤資訊了。

ctag 和 taglist

拷貝ctags.exe 到vim可執行檔所在目錄,確認這個目錄在系統路徑中

vimrc中配置taglist
let Tlist_Ctags_Cmd="ctags.exe" 
map <F2> :Tlist<CR>  

F2    開啟、關閉瀏覽視窗的快速鍵

Ctrl – 兩個w      切換在Tag視窗和源碼視窗中切換

懶人的方法

上述的東東挨個配起來很麻煩,有個懶人的辦法,把所有上述外掛程式和配置都搞定了:

  • 下一個gvim72裝上
  • 下這個壓縮包vim.rar (for windows),然後解壓去覆蓋你的vim安裝目錄

注意事項:

  • 這個包裡使用的vim和gvim編譯為支援Python2.5, 如果你安裝的是2.6,請到這裡去下載對應的vim和gvim
  • python環境中需要安裝pysmell

匯總一下快速鍵:

pydiction 在插入編輯模式下按<tab> tab 向下選擇,shift+tab反向選擇(上下箭頭也可)
pysemll 在插入編輯模式下按F4

Ctrl – N 向下選擇; Ctrl – P 向上選擇

taglist F2    開啟、關閉瀏覽視窗

Ctrl – 兩個w      切換在Tag視窗和源碼視窗中切換

在瀏覽視窗通過 j,k鍵上下選擇,斷行符號就使源碼視窗跳到對應節,如函數

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.