天天看點

python交換模式、vim模式TAB自動補齊

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>&gt;&gt;&gt; </code><code>import</code> <code>sys</code>

<code>&gt;&gt;&gt; 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>&gt;&gt;&gt;</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>&gt;&gt;&gt; </code><code>import</code> <code>tab,sys</code>

<code>&gt;&gt;&gt; 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

繼續閱讀