Vim及其用于Python的自動補全功能
Vim(Vi Improved的縮寫)是一款功能強大的文本編輯器,常被作為Python開發(fā)環(huán)境的首選。本文將探討Vim及其用于Python的自動補全功能。
Vim和Python
Vim在全球開發(fā)者中一直存在,并以其持續(xù)不斷的技術(shù)進步而聞名。Vim遵循一種關(guān)于功能的特定思想,最好用"鍵盤的效率"來解釋。
這意味著Vim的設(shè)計理念是,就像一個用筆和紙的作家一樣,軟件開發(fā)者應(yīng)該能夠高效地編寫代碼,而不被其他瑣事干擾,比如滾動或查找選項等。對于開發(fā)者來說,鍵盤就是他們的筆。
Vim采用結(jié)構(gòu)化的命令語言,最初在其中操作可能會令人生畏。在真正掌握在像Vim這樣的無干擾環(huán)境中進行編程的藝術(shù)之前,確實需要熟悉許多鍵盤命令。
然而,這些命令存在于一個邏輯且易于理解的堆棧中,這使得我們更快地適應(yīng)它們。
Vim的特點
Vim和Python組合起來是一個強大的工具,是許多軟件開發(fā)者的首選。
Vim易于設(shè)置為一個集成開發(fā)環(huán)境(IDE),提供了許多插件。這些插件可以幫助軟件開發(fā)者定制Vim,并創(chuàng)建最適合其開發(fā)需求的環(huán)境。
盡管本文無法涵蓋所有可用功能來充分利用Vim作為IDE的功能,但我們可以列出一些最受歡迎的功能:
- 分割布局: 我們可以使用命令 sp <文件名>在當(dāng)前文件下方打開一個新文件。
- 代碼折疊: 我們可以折疊那些在當(dāng)前階段不需要完整查看的類或方法。
- 緩沖區(qū): Vim通過緩沖區(qū)方便我們訪問最近打開的文件。只需使用b <緩沖區(qū)名稱或編號>打開文件,使用ls列出所有緩沖區(qū)。
- UTF-8支持: 我們可以通過設(shè)置UTF-8編碼來確保Vim使用UTF-8??梢允褂靡韵履_本進行設(shè)置: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ā)階段的關(guān)鍵部分。自動縮進功能幫助開發(fā)者不必過多擔(dān)心由于額外或無縮進而導(dǎo)致的錯誤。
有時,當(dāng)方法的定義超過一行時,自動縮進可能不起作用。我們可以通過設(shè)置indentpython.vim來解決這個問題:
Plugin 'vim-scripts/indentpython.vim'
語法檢查: 任何現(xiàn)代IDE的一個標志就是它能夠保持對任何開發(fā)語言的語法檢查。我們可以通過添加語法插件和flake8插件來為Vim設(shè)置語法檢查,以添加pep8功能。
Syntactic插件:
```bash Plugin 'vim-syntastic/syntastic' ```
Flake8插件:
```bash Plugin 'nvie/vim-flake8' #添加pep8 ``` 1. PEP8: 我們可以設(shè)置Vim的pep8檢查,以保持編碼標準的審查。
Vim的Python自動補全
實現(xiàn)Python自動補全的最佳插件是YouCompleteMe。雖然YouCompleteMe使用了其他各種自動補全庫(如Jedi),但它是目前最適合最新Python版本的插件。
我們可以使用Vundle在我們的環(huán)境中安裝和設(shè)置YouCompleteMe,如下所示:
Bundle 'Valloric/YouCompleteMe'
關(guān)于所有操作系統(tǒng)類型的完整安裝說明可以在詳盡的文檔中找到。
下面是在64位Linux系統(tǒng)上進行設(shè)置的步驟:
首先,運行以下命令安裝所有的自動補全包。下面的命令將通過Vundle安裝YCM插件,CMake、Vim和Python。如果您已經(jīng)安裝了這些包,它們將不會被重新安裝。
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>
這個腳本確保一旦完成自動補全,窗口就會關(guān)閉,并在腳本的第二行創(chuàng)建一個GoTo定義的快捷方式。
到此這篇關(guān)于用于 Python 的 Vim 自動完成的文章就介紹到這了,更多相關(guān)Python Vim 自動完成內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python使用BeautifulSoup與正則表達式爬取時光網(wǎng)不同地區(qū)top100電影并對比
這篇文章主要給大家介紹了關(guān)于python使用BeautifulSoup與正則表達式爬取時光網(wǎng)不同地區(qū)top100電影并對比的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
python實現(xiàn)登陸知乎獲得個人收藏并保存為word文件
這篇文章主要介紹了python實現(xiàn)登陸知乎獲得個人收藏并保存為word文件,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下2015-03-03
Python使用python-docx庫復(fù)制Word文檔樣式的實現(xiàn)方法
在日常辦公中,我們經(jīng)常需要處理Word文檔的格式調(diào)整、內(nèi)容更新等任務(wù),本文將介紹如何使用python-docx庫來復(fù)制一個Word文檔的內(nèi)容及樣式,并展示如何利用此方法進行文檔內(nèi)容的自動化處理,需要的朋友可以參考下2025-05-05
Python內(nèi)建函數(shù)之raw_input()與input()代碼解析
這篇文章主要介紹了Python內(nèi)建函數(shù)之raw_input()與input()代碼解析,具有一定參考價值,需要的朋友可以了解下。2017-10-10
Python namedtuple命名元組實現(xiàn)過程解析
這篇文章主要介紹了Python namedtuple命名元組實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-01-01

