Vim及其用于Python的自動補全功能
Vim(Vi Improved的縮寫)是一款功能強大的文本編輯器,常被作為Python開發(fā)環(huán)境的首選。本文將探討Vim及其用于Python的自動補全功能。
Vim和Python
Vim在全球開發(fā)者中一直存在,并以其持續(xù)不斷的技術進步而聞名。Vim遵循一種關于功能的特定思想,最好用"鍵盤的效率"來解釋。
這意味著Vim的設計理念是,就像一個用筆和紙的作家一樣,軟件開發(fā)者應該能夠高效地編寫代碼,而不被其他瑣事干擾,比如滾動或查找選項等。對于開發(fā)者來說,鍵盤就是他們的筆。
Vim采用結構化的命令語言,最初在其中操作可能會令人生畏。在真正掌握在像Vim這樣的無干擾環(huán)境中進行編程的藝術之前,確實需要熟悉許多鍵盤命令。
然而,這些命令存在于一個邏輯且易于理解的堆棧中,這使得我們更快地適應它們。
Vim的特點
Vim和Python組合起來是一個強大的工具,是許多軟件開發(fā)者的首選。
Vim易于設置為一個集成開發(fā)環(huán)境(IDE),提供了許多插件。這些插件可以幫助軟件開發(fā)者定制Vim,并創(chuàng)建最適合其開發(fā)需求的環(huán)境。
盡管本文無法涵蓋所有可用功能來充分利用Vim作為IDE的功能,但我們可以列出一些最受歡迎的功能:
- 分割布局: 我們可以使用命令 sp <文件名>在當前文件下方打開一個新文件。
- 代碼折疊: 我們可以折疊那些在當前階段不需要完整查看的類或方法。
- 緩沖區(qū): Vim通過緩沖區(qū)方便我們訪問最近打開的文件。只需使用b <緩沖區(qū)名稱或編號>打開文件,使用ls列出所有緩沖區(qū)。
- UTF-8支持: 我們可以通過設置UTF-8編碼來確保Vim使用UTF-8??梢允褂靡韵履_本進行設置:set encoding=utf-8。
- 標記不必要的空格: 在使用類似Vim這樣的編輯器時,開發(fā)過程中可能會出現(xiàn)額外的空格。我們可以讓Vim標記這些空格,以便輕松發(fā)現(xiàn)并刪除它們。
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/
自動縮進: 在使用Python作為開發(fā)語言時,縮進是開發(fā)階段的關鍵部分。自動縮進功能幫助開發(fā)者不必過多擔心由于額外或無縮進而導致的錯誤。
有時,當方法的定義超過一行時,自動縮進可能不起作用。我們可以通過設置indentpython.vim來解決這個問題:
Plugin 'vim-scripts/indentpython.vim'
語法檢查: 任何現(xiàn)代IDE的一個標志就是它能夠保持對任何開發(fā)語言的語法檢查。我們可以通過添加語法插件和flake8插件來為Vim設置語法檢查,以添加pep8功能。
Syntactic插件:
```bash Plugin 'vim-syntastic/syntastic' ```
Flake8插件:
```bash Plugin 'nvie/vim-flake8' #添加pep8 ``` 1. PEP8: 我們可以設置Vim的pep8檢查,以保持編碼標準的審查。
Vim的Python自動補全
實現(xiàn)Python自動補全的最佳插件是YouCompleteMe。雖然YouCompleteMe使用了其他各種自動補全庫(如Jedi),但它是目前最適合最新Python版本的插件。
我們可以使用Vundle在我們的環(huán)境中安裝和設置YouCompleteMe,如下所示:
Bundle 'Valloric/YouCompleteMe'
關于所有操作系統(tǒng)類型的完整安裝說明可以在詳盡的文檔中找到。
下面是在64位Linux系統(tǒng)上進行設置的步驟:
首先,運行以下命令安裝所有的自動補全包。下面的命令將通過Vundle安裝YCM插件,CMake、Vim和Python。如果您已經安裝了這些包,它們將不會被重新安裝。
apt install build-essential cmake vim-nox python3-dev
接下來,使用以下命令安裝mono-complete、go、node、java和npm:
apt install mono-complete golang nodejs default-jdk npm
現(xiàn)在,我們只需編譯YCM,方法如下:
cd ~/.vim/bundle/YouCompleteMe python3 install.py --all
安裝過程非常簡單,但我們可以進行自定義配置,如下所示:
let g:ycm_autoclose_preview_window_after_completion=1 map <leader>g :YcmCompleter GoToDefinitionElseDeclaration<CR>
這個腳本確保一旦完成自動補全,窗口就會關閉,并在腳本的第二行創(chuàng)建一個GoTo定義的快捷方式。
到此這篇關于用于 Python 的 Vim 自動完成的文章就介紹到這了,更多相關Python Vim 自動完成內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python PaddleNLP實現(xiàn)自動生成虎年藏頭詩
這篇文章主要介紹了利用Python PaddleNLP實現(xiàn)自動生成虎年藏頭詩功能,文中的示例代碼講解詳細,感興趣的同學可以跟隨小編一起試一試2022-01-01Python用內置模塊來構建REST服務與RPC服務實戰(zhàn)
這篇文章主要介紹了Python用內置模塊來構建REST服務與RPC服務實戰(zhàn),python在網絡方面封裝一些內置模塊,可以用很簡潔的代碼實現(xiàn)端到端的通信,比如HTTP、RPC服務,下文實戰(zhàn)詳情,需要的朋友可以參考一下2022-09-09Python計算開方、立方、圓周率,精確到小數(shù)點后任意位的方法
今天小編就為大家分享一篇Python計算開方、立方、圓周率,精確到小數(shù)點后任意位的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07