給Python加上自動補全功能

最近在學習deeplearning, 把理論看了一遍後,準備開始用TensorFlow做開發。當然了,我們現在需要用到Python了。習慣了自動補全功能,還是想在Python下可以自動補全的,看了很多的帖子,http://blog.csdn.net/robertsong2004/article/details/48165557,確實可以自動補全了。

但是發現了每次運行完Python後,exit()退出Python環境後,發現就進不去Python了,呵呵了,仔細看一下發現,history的命令也要加入到startup文件中,這不是很蛋疼,不能每次都要清理裡面的exit()歷史記錄,所以進入裡面發現,historyfile = os.path.join(os.environ['HOME'],'.pythonstartup') ,這句話把history的命令添加到該文件末尾,問題就出在這裡了,所以,把這個文件改了就OK了,history文件單獨建立一個history文件,在~下vim .pythonhistory, 然後把原來的語句改為:

history_file = os.path.join(os.environ["HOME"],".pythonhistory") ,其他都不變,這樣可以了。最後原來的帖子變為:

  1. # python startup file  
  2. import readline  
  3. import rlcompleter  
  4. import atexit  
  5. import os  
  6. #tab completion  
  7. readline.parse_and_bind('tab: complete')  
  8. #history file  
  9. historyfile = os.path.join(os.environ['HOME'],'.pythonhistory')  
  10. try:  
  11.     readline.read_history_file(historyfile)  
  12. except:  
  13.     pass  
  14. atexit.register(readline.write_history_file,historyfile)  
  15. del os,historyfile,readline,rlcompleter  

下面記錄一下詳細過程:

1.  cd ~

2.  vim .pythonstartup

 複製上面的程式碼到該文件中,保存退出(:wq)

3. vim .pythonhistory

新建history文件: 繼續保存退出(:wq)

4. vim .bashrc

在其末尾加上:export PYTHONSTARTUP="/home/xxxx/.pythonstartup" (最好絕對路徑,xxxx對應你的用戶名)

5. source .bashrc

source一下.bashrc文件就OK了

自動補全效果還是可以的,不過還是有些不完美的地方。

比如想要自動補全tensorflow,這個功能還是不可以實現的。用ipython就非常方便,

另外,我們經常會ftp到伺服器上開發,在shell下編輯Python文件的話,還是少不了vim編輯文件,這時候,我們也要在編輯文件的時候需要自動補全,這時候就需要一個字典了,可以參考http://www.jb51.net/article/58009.htm這個,我測試過可以應用,不過字典中沒有tensorflow的東西,需要自己添加,後面我會慢慢解決這個問題。

工欲善其事必先利其器,環境這一塊先到這裡了,後面再慢慢記錄。當然了,希望尋找一些志同道合的一起學習tensorflow。

2017-5-2 續:

vim下安裝TensorFlow支援

其實只需要一個命令:

python pydiction.py tensorflow

不過一定要注意,要把當前文件夾定位到pydiction.py文件所在的位置:~/.vim/pydiction

然後你會發現生成了新的字典文件,查找一下TensorFlow,就發現加入了好多

另外一個要注意的地方.vimrc裡面的字典路徑是在tools文件夾下,這裡只需要把新生成的字典文件copy到tools文件夾下覆蓋完成即可了。(cp命令,自行查找如何應用)

測試一下效果:

是不是感覺棒棒噠

這裡面有個小技巧,你在import as之後,由於字典中沒有tf關鍵詞,我這裡把所有的TensorFlow的命令全部複製添加到了文件尾,然後用tf批量替換tensorflow即可。注意不要全局替換,用CTRL+v的模式替換

更新2017-11-15

vim配置:https://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html,這是一個非常好用的配置文件,但是帶來一個問題就是python沒有辦法補全了,解決方法非常簡單:

"Pydiction let g:pydiction_location =『xxxxxxxx』

這裡還是上面配置好的字典位置,這樣看一下程式碼如何

有沒有非常炫酷的樣子

2019年9-3日更新

現在有個非常好用的vim配置文件,可以一鍵完成自動補全、語法高亮、文件管理、blabla等的功能,推薦用vimplus這個,現在用了半年了,非常好用,地址直通車:https://github.com/chxuan/vimplus

一切按照git說明來做,親測有效。

如果要在伺服器端進行配置,會出現沒有root許可權的問題,需要自己手動安裝ctag這個軟體,expert執行文件到PATH,伺服器端也可以完美運行。如有什麼問題,可以評論交流。