




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
PythonVim對(duì)開發(fā)PythonPython-mode實(shí)際上是以Vim插件形式出現(xiàn)的一套工具,它包含了多個(gè)用于開PythonPython(<leader>r)添加/刪除斷點(diǎn)(<leader>b)改善了的Python縮進(jìn)Python(]],3[[,]]M,vaC,viM,daC,ciM,…)改善了的Python折疊同時(shí)運(yùn)行多個(gè)代碼檢查器(:PymodeLnt)自動(dòng)修正PEP8錯(cuò)誤(PyodLitAto)自動(dòng)在Python文檔里搜索(K)不過,還是要提醒一句,它的功能雖然挺多,但作為非商業(yè)軟件,全靠來貢獻(xiàn)代外(如語法加亮和縮進(jìn))以minpacvimrcOtherplugins”1callminpac#add('python-mode/python-:PackUpdate在沒有任何配置的情況下,python-mode代代123456789function!"ThisfunctionrequiresGitPythonifhas('pythonx')pythonx<<EOFimportgitexceptImportError:importdefis_git_repo():_=git.Repo('.',search_parent_directories=True).git_dirreturn1returnreturnpyxeval('is_git_repo()')return0letg:pymode_rope=pletion=plete_on_dot=letg:pymode_syntax_print_as_function=letg:pymode_syntax_string_format=lettes=IsGitRepo是利用Python代碼檢測(cè)當(dāng)前是不是在Git庫 在Python環(huán)境里安裝了GitPython(pip3installGitPython)。 是一個(gè)Git庫下面才啟用rope支持(pymode_rope)。Rope是python-mode里提供語義識(shí)別和自動(dòng)完成的主要工具,它會(huì)掃描所有子 rope工程 python-mode令,可能會(huì)導(dǎo)致Vim卡頓(python-mode并不是一個(gè)異步的插我們啟用rope的完成功能 我們禁用在輸入.號(hào)時(shí)自動(dòng)完成的功能( 行的。這一點(diǎn)就不如YCM了。因此,我們的自動(dòng)完成仍然使用YCM。不過,需要的話,我們?nèi)钥梢酝ㄟ^<C-X><C-O>來使用rope的自動(dòng)完成。Python-modePythonprint作為保留字顯示,而不是普通函數(shù)。在寫Python3時(shí),還是需要修改一下它的行為(pymode_syntax_string_formatpymode_syntax_string_temtes)。這兒主要的問題是,它會(huì)誤匹配字符串中出現(xiàn)的和$序列。我個(gè)人不習(xí)慣錯(cuò)誤的加亮,不過你可以根據(jù)自己的喜好,來決定Python-moe提供了自己的語法加亮文件。除了上面提到的可以選擇對(duì)print如何加亮,以及在字符串內(nèi)部進(jìn)行特殊加亮的選項(xiàng)外,它還提供了很多改進(jìn),并且可以由用戶通過選項(xiàng)來微調(diào)(:helpymode-yntax),如對(duì)賦值號(hào)(=)的特殊高亮和對(duì)self的特殊高亮,等等。這些改進(jìn)我覺得還挺有用。我個(gè)人一直不怎么喜歡代碼折疊(主要是覺得額外展開這個(gè)步驟非常有干擾,而更愿意一目十行式地快速瀏覽),所以Vim的這個(gè)功能我基本不用。如果你喜歡折疊的話,你應(yīng)該會(huì)很高興yhon-moe能幫你自動(dòng)折疊Python代碼。你只需要在imrc配置文件中加入下面這行即可:1letg:pymode_folding=PythonPython-modeK對(duì)光標(biāo)下的單詞進(jìn)行文檔查閱。跟其他查閱文檔的方式比起使用K查看PythonVimPython像PEP8這樣的Python編程規(guī)范考慮進(jìn)去,縮進(jìn)風(fēng)格并不十分正確。安裝了python-mode后,縮進(jìn)就能更好地自動(dòng)遵循PEP8規(guī)范了。VimPythonVimpyflakes,Pythonpep8PEP81letg:pymode_lint_checkers=['pyflakes','pep8',你可以自己在imrc配置文件里定義這個(gè)變量,調(diào)節(jié)希望使用的代碼檢查器。我覺得默認(rèn)的代碼檢查器還比較合適,因?yàn)閳?zhí)行真的很快,基本上可以在執(zhí)行檢查的瞬間幫你檢查完代碼并標(biāo)記出問題。你可以手工執(zhí)行:PymodLint來檢查代碼,ython-moe也會(huì)自動(dòng)在你保存文件時(shí)進(jìn)行檢查。我?guī)啄昵皩懙牟环螾EP8可以看到,檢查的結(jié)果會(huì)在屏幕的左側(cè)標(biāo)記出來,表示不同的問題類型;并且光標(biāo)移到這樣的行上,im底部還會(huì)顯示問題的描述信息。同時(shí),ython-moe檢查出問題時(shí)會(huì)自13窗口。由于我們可能在多個(gè)窗口/頁編輯多個(gè)文件,位置列表確實(shí)比較合適。當(dāng)python-mode認(rèn)為你修復(fù)了所有問題時(shí),這個(gè)位置列表也會(huì)自動(dòng)關(guān)閉。80列上,也是提醒你寫代碼不能到那個(gè)位置,因?yàn)镻EP8規(guī)定Python代碼行最長是79個(gè)字符。如果到達(dá)紅線位置的話,那pep8檢查的時(shí)候,一定跑不了,會(huì)報(bào)錯(cuò)的。上面圖中的錯(cuò)誤都是PEP8問題,絕大部分可以簡單地執(zhí)行:PymodeLintAuto命令來Python-mode還有兩個(gè)沒有默認(rèn)啟用的檢查器以說是全面強(qiáng)于pyflakes(使用它你得,做好被它虐的準(zhǔn)備)pep257,一個(gè)檢查文檔串(docstring)PEP257(這個(gè)工具我個(gè)人感由于pylint執(zhí)行比較慢,我覺得還是先寫完代碼再專門來掃描并解決其報(bào)告的問題比較合適。上面的這個(gè)示例代碼,跑pylint需要超過一秒才能執(zhí)行完成,在存盤時(shí)自動(dòng)執(zhí)行檢查基本屬于不可忍受。這當(dāng)然也是因?yàn)閜ython-mode沒有異步執(zhí)行外部命令造成的。我們RopeRope是一個(gè)Python庫,提供對(duì)Python代碼的分析、重構(gòu)和自動(dòng)完成功能。由于我們使用YCM來進(jìn)行自動(dòng)完成,也能完成像跳轉(zhuǎn)到定義這樣的任務(wù),rope就略顯雞肋了。不過,它有重命名重構(gòu)功能,而YCM并不支持對(duì)Python的重命名重構(gòu),所以兩者功能還不你如果決定要用一下roperope會(huì)使用一個(gè)叫做.ropeproject(默認(rèn)名字)的 使用命令:PymodeRopeRegenerate默認(rèn)情況下(g:pymode_rope_regenerate_on_write1),在文件存盤時(shí)python-mode即會(huì)自動(dòng)執(zhí)行:PymodeRopeRegenerate命令在啟用rope之后,你就可以使用下面令了<C-X><C-O來啟用自動(dòng)完成(我們把還是交給YCM了<C-C>g來跳轉(zhuǎn)到定義(跟YCM的\gt比,大部分情況下沒區(qū)別;rope跳轉(zhuǎn)更好和YCM跳轉(zhuǎn)更好的情況都有,但都不多見)使用<C-C>d來查看光標(biāo)下符號(hào)的文檔;和K鍵不同,這個(gè)命令可以查看當(dāng)前項(xiàng)目代碼重構(gòu)(refactor)功能以<C-C>r開始,如<C-C>rr是重命名(rename)光標(biāo)下的符號(hào),這些功能還是比較強(qiáng)大的(可以使用:helppymode-rope-refactoring來查下面的動(dòng)圖展示了rope在rope如果你對(duì)python-moderope(letg:pymode_rope=0),YCM.ropeproject那樣 了其次,如果你真的希望能在寫代碼的時(shí)候自動(dòng)進(jìn)行pylint檢查,那你也可以禁用python-mode里的代碼檢查器功能(letg:pymode_lint0),轉(zhuǎn)而使用ALE步檢查。你需要安裝它(包管理器需要的名字是dense-ysis/ale),并在vimrc配置letg:ale_linters=\'python':別忘了這種情況下,你需要自己用pip安裝pylint。這不像python-mode的情況,所有在這一講,我們通過介紹python-mode,介紹了一個(gè)比較適用于Python程序員的Vim開發(fā)環(huán)境。這個(gè)工具集成了對(duì)Python的語法加亮、代碼折疊、文檔查閱、代碼檢查、自動(dòng)完成等多方面的功能,對(duì)Python開發(fā)者非常適用。我們同時(shí)也討論了Vim之外的一些代碼檢查工具,以及當(dāng)你對(duì)python-mode不滿意時(shí),如何部分替換其功能。python-mode 不得售賣。頁面已增加防盜追蹤,將依法其上一 拓展2|C程序員的Vim工作環(huán)境:C代碼的搜索、提示和自動(dòng)完下一 拓展4|插件樣例分析:自己動(dòng)手改進(jìn)插測(cè)了下--startuptim
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中班新年服設(shè)計(jì)
- 商業(yè)培訓(xùn)的市場(chǎng)分析與定位策略
- 婦科腫瘤疾病個(gè)案護(hù)理
- 醫(yī)療教育心理學(xué)提升患者治療依從性
- 胸部懸吊術(shù)后護(hù)理指南
- 教育技術(shù)如何打造高效在線學(xué)習(xí)環(huán)境
- 寶寶肺炎病后護(hù)理
- 工廠崗位設(shè)定方案
- 法院隊(duì)伍紀(jì)律作風(fēng)建設(shè)心得體會(huì)(共6篇)
- 行政能力測(cè)試試題及答案(3篇)
- 分光計(jì)的使用與調(diào)節(jié)-課件
- 通信建設(shè)工程質(zhì)量和安全生產(chǎn)監(jiān)督檢查表最新文檔
- 醫(yī)學(xué)高級(jí)職稱評(píng)審答辯報(bào)告PPT模板
- 肺栓塞的診斷和治療
- DB4451-T 1-2021《地理標(biāo)志產(chǎn)品+鳳凰單叢(樅)茶》-(高清現(xiàn)行)
- 信訪工作課品課件
- 加油站火災(zāi)、爆炸事故現(xiàn)場(chǎng)處置方案
- IPQC技能培訓(xùn)
- 2022年(詳細(xì)版)高中數(shù)學(xué)學(xué)業(yè)水平考試知識(shí)點(diǎn)
- 常用樂高零件清單
- 蛋糕制作工藝課件(PPT81張)
評(píng)論
0/150
提交評(píng)論