1、交換模式自動補齊
#登陸python交換模式,導入sys子產品,sys.path檢視python搜尋路徑
<code>[root@python python]</code><code># python</code>
<code>Python </code><code>2.6</code><code>.</code><code>6</code> <code>(r266:</code><code>84292</code><code>, Jan </code><code>22</code> <code>2014</code><code>, </code><code>09</code><code>:</code><code>42</code><code>:</code><code>36</code><code>) </code>
<code>[GCC </code><code>4.4</code><code>.</code><code>7</code> <code>20120313</code> <code>(Red Hat </code><code>4.4</code><code>.</code><code>7</code><code>-</code><code>4</code><code>)] on linux2</code>
<code>Type</code> <code>"help"</code><code>, </code><code>"copyright"</code><code>, </code><code>"credits"</code> <code>or</code> <code>"license"</code> <code>for</code> <code>more information.</code>
<code>>>> </code><code>import</code> <code>sys</code>
<code>>>> sys.path</code>
<code>['</code><code>', '</code><code>/</code><code>usr</code><code>/</code><code>lib64</code><code>/</code><code>python26.</code><code>zip</code><code>', '</code><code>/</code><code>usr</code><code>/</code><code>lib64</code><code>/</code><code>python2.</code><code>6</code><code>', '</code><code>/</code><code>usr</code><code>/</code><code>lib64</code><code>/</code><code>python2.</code><code>6</code><code>/</code><code>plat</code><code>-</code><code>linux2</code><code>', '</code><code>/</code><code>usr</code><code>/</code><code>lib64</code><code>/</code><code>python2.</code><code>6</code><code>/</code><code>lib</code><code>-</code><code>tk</code><code>', '</code><code>/</code><code>usr</code><code>/</code><code>lib64</code><code>/</code><code>python2.</code><code>6</code><code>/</code><code>lib</code><code>-</code><code>old</code><code>', '</code><code>/</code><code>usr</code><code>/</code><code>lib64</code><code>/</code><code>python2.</code><code>6</code><code>/</code><code>lib</code><code>-</code><code>dynload</code><code>', '</code><code>/</code><code>usr</code><code>/</code><code>lib64</code><code>/</code><code>python2.</code><code>6</code><code>/</code><code>site</code><code>-</code><code>packages</code><code>', '</code><code>/</code><code>usr</code><code>/</code><code>lib64</code><code>/</code><code>python2.</code><code>6</code><code>/</code><code>site</code><code>-</code><code>packages</code><code>/</code><code>gtk</code><code>-</code><code>2.0</code><code>', '</code><code>/</code><code>usr</code><code>/</code><code>lib</code><code>/</code><code>python2.</code><code>6</code><code>/</code><code>site</code><code>-</code><code>packages']</code>
<code>>>></code>
#切換到python第三方子產品搜尋路徑下,建立tab.py子產品檔案
<code>[root@python python]</code><code># cd /usr/lib64/python2.6/site-packages</code>
<code>[root@python site-packages]</code><code># cat tab.py</code>
<code>#!/usr/bin/python</code>
<code>#pyton startup tab</code>
<code>import</code> <code>sys</code>
<code>import</code> <code>readline</code>
<code>import</code> <code>rlcompleter</code>
<code>import</code> <code>atexit</code>
<code>import</code> <code>os</code>
<code>readline.parse_and_bind(</code><code>'tab: complete'</code><code>)</code>
<code>histfile </code><code>=</code> <code>os.path.join(os.environ[</code><code>'HOME'</code><code>], </code><code>'.pythonhistory'</code><code>)</code>
<code>try</code><code>:</code>
<code> </code><code>readline.read_history_file(histfile)</code>
<code>except</code> <code>IOError:</code>
<code> </code><code>pass</code>
<code>atexit.register(readline.write_history_file,histfile)</code>
<code>del</code> <code>os,histfile,readline,rlcompleter</code>
#在交換模式下導入tab子產品,測試tab補齊
<code>>>> </code><code>import</code> <code>tab,sys</code>
<code>>>> sys.</code>
<code>sys.__class__( sys.executable</code>
<code>sys.__delattr__( sys.exit(</code>
<code>sys.__dict__ sys.exitfunc(</code>
<code>sys.__displayhook__( sys.flags</code>
<code>sys.__doc__ sys.float_info</code>
2、vim編輯模式下TAB自動補齊
首先下載下傳vim中Tab建第三方子產品,其中也介紹詳細的使用方法
官網位址:http://rkulla.github.io/pydiction/
<code>wget https:</code><code>//github</code><code>.com</code><code>/rkulla/pydiction/zipball/master</code>
<code>unzip -q master</code>
<code>cd</code> <code>rkulla-pydiction-41c7143/</code>
在宿主目錄下建立(.vim)檔案夾,官網介紹,complete-dict和pydiction.py這兩個檔案隻能安裝在(.vim)目錄下
<code>[root@python rkulla-pydiction-41c7143]</code><code># mkdir ~/.vim</code>
<code>[root@python rkulla-pydiction-41c7143]</code><code># \cp after/ ~/.vim -r</code>
<code>[root@python rkulla-pydiction-41c7143]</code><code># \cp complete-dict ~/.vim</code>
<code>[root@python rkulla-pydiction-41c7143]</code><code># cd ~/.vim</code>
<code>[root@python .vim]</code><code># tree</code>
<code>.</code>
<code>├── after</code>
<code>│ └── ftplugin</code>
<code>│ └── python_pydiction.vim</code>
<code>└── complete-dict</code>
在宿主目錄下,建立檔案(.vimrc),開啟filetype插件,指定complete-dict的完整路徑:
<code>[root@python .vim]</code><code># vim ~/.vimrc</code>
<code>"python TAB補齊</code>
<code>"啟用filetype插件</code>
<code>filetype plugin on</code>
<code>"指定complete-dict的完整路徑</code>
<code>let</code> <code>g:pydiction_location = </code><code>'~/.vim/complete-dict'</code>
<code>"設定菜單的高度,預設為8</code>
<code>let</code> <code>g:pydiction_menu_height = 3</code>
測試是否生效:
<a href="https://s4.51cto.com/wyfs02/M01/A4/EF/wKioL1m03TTTpVE3AAD89gE7wnQ554.png-wh_500x0-wm_3-wmp_4-s_3713158854.png" target="_blank"></a>
注意:vim編輯檔案隻針對字尾為.py的檔案,或者在檔案開頭聲明為python運作的頭資訊(#!/usr/bin/python)
附個人vim配置檔案:
cat ~/.vimrc
<code>"文法高亮</code>
<code>syntax on</code>
<code>"顯示行号</code>
<code>set</code> <code>number</code>
<code>"啟用滑鼠</code>
<code>set</code> <code>mouse=a</code>
<code>set</code> <code>selection=exclusive</code>
<code>set</code> <code>selectmode=mouse,key</code>
<code>"偵聽檔案類型</code>
<code>filetype on</code>
<code>"記錄曆史的行數</code>
<code>set</code> <code>history</code><code>=1000</code>
<code>"下劃線高亮顯示光标所在行</code>
<code>set</code> <code>cursorline</code>
<code>"背景使用黑色</code>
<code>set</code> <code>background=dark</code>
<code>"第一行設定tab鍵為4個空格,第二行設定當行之間交錯時使用4個空格</code>
<code>set</code> <code>tabstop=4</code>
<code>"設定自動縮進長度為4格</code>
<code>set</code> <code>shiftwidth=4</code>
<code>"在編輯過程中,在右下角顯示光标位置的狀态行</code>
<code>set</code> <code>ruler</code>
<code>"設定編碼自動識别,中文引号顯示</code>
<code>set</code> <code>fileencoding=uft-8</code>
<code>set</code> <code>ambiwidth=double</code>
<code>"設定高亮搜尋</code>
<code>set</code> <code>hlsearch</code>
<code>"在搜尋時,輸入的詞句的逐字元高亮</code>
<code>set</code> <code>incsearch</code>
<code>"顯示括号比對</code>
<code>set</code> <code>showmatch</code>
<code>"括号比對顯示時間為1(機關是十分之一秒)</code>
<code>set</code> <code>matchtime=1</code>
版權聲明:原創作品,如需轉載,請注明出處。否則将追究法律責任
本文轉自 80後小菜鳥 51CTO部落格,原文連結:http://blog.51cto.com/zhangxinqi/1964100