摘要:本文內(nèi)容整理自我在知乎的回答用寫(xiě)的最佳實(shí)踐是什么,下面的內(nèi)容是對(duì)知乎舊有回答的一個(gè)補(bǔ)充,尤其有一些主要針對(duì)如果想要更多內(nèi)容,可以查看知乎對(duì)于該問(wèn)題的一些回答。主要是針對(duì)提供的內(nèi)容進(jìn)行再提取進(jìn)行展示。
先來(lái)曬個(gè)圖:
對(duì)于一些 Python 的小項(xiàng)目,使用 vim 是一個(gè)不錯(cuò)的選擇。本文內(nèi)容整理自我在知乎的回答 用 Vim 寫(xiě) Python 的最佳實(shí)踐是什么?,下面的內(nèi)容是對(duì)知乎舊有回答的一個(gè)補(bǔ)充,尤其有一些主要針對(duì) vim8. 如果想要更多內(nèi)容,可以查看知乎對(duì)于該問(wèn)題的一些回答。
語(yǔ)法檢查如果用 vim8, 那么可以用異步檢測(cè)的 w0rp/ale 代替 syntastic 了,再也不用羨慕 flycheck, 也不用因?yàn)檎Z(yǔ)法檢查而卡頓了。
關(guān)于 ale 這部分的個(gè)性化配置,其實(shí)有點(diǎn) “吹毛求疵”,一般使用默認(rèn)的應(yīng)該就夠了,不過(guò)我喜歡 fancy 的東西,就折騰了一把。涉及的東西可能比較細(xì)枝末節(jié),可以直接看 space-vim: syntax-checking 了解一下大概的配置 。主要是針對(duì) ale 提供的 statusline 內(nèi)容進(jìn)行再提取進(jìn)行展示。如果沒(méi)有語(yǔ)法錯(cuò)誤就不顯示在 statusline, 如果有 warning 或 error, 則通過(guò)不同顏色就行區(qū)分。
而關(guān)于側(cè)邊的 warning 或 error sign, 我喜歡干凈一點(diǎn),用前景色區(qū)分就好,下面這樣有時(shí)候會(huì)像一塊塊的補(bǔ)丁貼在上面,覺(jué)得不太好看。
syntax 增強(qiáng)vim 自帶對(duì)于 python 的高亮有點(diǎn)弱,連 self 都不給我亮起來(lái), 這一點(diǎn)可以通過(guò) python-mode/python-mode 來(lái)進(jìn)行增強(qiáng):
hi pythonSelf ctermfg=174 guifg=#6094DB cterm=bold gui=bold
具體可以看這里 space-vim: python layer
在 python-mode 的 syntax/python.vim 里,可以看到比 vim 自帶的 syntax/python.vim 更加細(xì)致的高亮群組,應(yīng)該不難看懂各項(xiàng)內(nèi)容,照著顏色表自行修改高亮風(fēng)格就可以了。這是 terminal 256 色對(duì)照表 256 Terminal colors and their 24bit equivalent (or similar), 這是 GUI 顏色對(duì)照表 Complete HTML True Color Chart 。
這么做的優(yōu)點(diǎn)自然是想要什么效果完全可自定義,但是也有缺點(diǎn),因?yàn)榭赡軟](méi)辦法適配所有的 vim 主題。當(dāng)你切換主題時(shí),這些針對(duì) python 自定義的高亮也許會(huì)有些不太契合。就算是只算流行的那些 vim 主題,恐怕也有兩位數(shù)了,有些是冷色調(diào),有些是暖色調(diào),有些以藍(lán)色為主,有些是紅色居多,應(yīng)該不太容易找一些百搭的配色。不過(guò)每個(gè)人所中意的主題可能也就是那么幾個(gè),所以自行選擇吧.....
其實(shí) python-mode 有點(diǎn)集大成的意思,囊括了用 vim 寫(xiě) python 的很多功能,有興趣的可以嘗試靠它 “一招打遍天下”。不過(guò),目前我只是中意這一部分而已。
代碼格式化這一點(diǎn)可以通過(guò) google/yapf 來(lái)完成,安裝好 yapf, 像下面這樣
autocmd FileType python nnoremap自動(dòng)補(bǔ)全= :0,$!yapf
這一點(diǎn)因?yàn)槲抑饕€是使用 vim, 因此用的 YouCompleteMe, 實(shí)際后端用的是已經(jīng)提到的 jedi-vim. 如果不喜歡 ycmd, 使用 neovim 的可以嘗試使用 deoplete.nvim .
import 整理各種 import 是不是顯得有點(diǎn)亂?使用 timothycrosley/isort 整理一下吧:
autocmd FileType python nnoremap一鍵運(yùn)行i :!isort %
這個(gè)可以通過(guò) skywind3000/asyncrun.vim 來(lái)增強(qiáng), 把之前的 ! 換成 AsyncRun! 就好了. 其實(shí)還是有些小小的注意點(diǎn):
很多人的一鍵運(yùn)行可能大概長(zhǎng)這樣:
... exec "!g++ % -o %<" exec "!time ./%<" ...
可以直接把上面的 ! 換成 AsyncRun! 嗎?答案是不可以,如果要達(dá)到之前的效果,應(yīng)該要這樣:
exec "AsyncRun! g++ -stdc++11 % -o %<; time ./%<"
要用分號(hào)鏈接多條命令(linux)或者 & 鏈接多條命令(windows),具體可以看 這里。
具體完整的 vim 配置在這里: >>> space-vim (覺(jué)得寫(xiě)得不錯(cuò)的話(huà)可以順便到 github 點(diǎn)個(gè) star ? 支持下哈), 啟用 ycmd, syntax-checking, programming, python Layer 就能達(dá)到上面的效果了。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/38389.html
摘要:本文內(nèi)容整理自我在知乎的回答用寫(xiě)的最佳實(shí)踐是什么,下面的內(nèi)容是對(duì)知乎舊有回答的一個(gè)補(bǔ)充,尤其有一些主要針對(duì)如果想要更多內(nèi)容,可以查看知乎對(duì)于該問(wèn)題的一些回答。主要是針對(duì)提供的內(nèi)容進(jìn)行再提取進(jìn)行展示。 先來(lái)曬個(gè)圖: showImg(https://segmentfault.com/img/bVIDeB?w=1434&h=1430); 對(duì)于一些 Python 的小項(xiàng)目,使用 vim 是一個(gè)...
摘要:簡(jiǎn)單來(lái)說(shuō),就是我們創(chuàng)建一對(duì)密鑰,其中一個(gè)是私鑰保存在本地設(shè)備中,另一個(gè)是公鑰,傳到你的中,之所以叫做密鑰對(duì),是因?yàn)槭褂霉€加密的消息只能使用對(duì)應(yīng)的私鑰解密。 配置 1).如果你使用的不是Pass,那么先配置VPS或者專(zhuān)用的服務(wù)器才能運(yùn)行PHP應(yīng)用。本文假設(shè)你會(huì)使用vim或者nano編輯器。2).我們選擇nginx服務(wù)器來(lái)作為我們的web服務(wù)器。 首次登錄 ssh root@123.45...
摘要:摘要支持用來(lái)對(duì)對(duì)象進(jìn)行操作,它提供了來(lái)用類(lèi)似的接口進(jìn)行大規(guī)模數(shù)據(jù)分析以及預(yù)處理,并且可以用模塊來(lái)執(zhí)行機(jī)器學(xué)習(xí)算法?,F(xiàn)在為了讓大家能更好地使用,我們總結(jié)開(kāi)發(fā)過(guò)程中的最佳實(shí)踐,來(lái)讓大家更高效地開(kāi)發(fā)程序。 摘要: PyODPS支持用 Python 來(lái)對(duì) MaxCompute 對(duì)象進(jìn)行操作,它提供了 DataFrame API 來(lái)用類(lèi)似 pandas 的接口進(jìn)行大規(guī)模數(shù)據(jù)分析以及預(yù)處理,并且可...
摘要:測(cè)試驅(qū)動(dòng)開(kāi)發(fā)簡(jiǎn)稱(chēng),是一種軟件開(kāi)發(fā)過(guò)程中的應(yīng)用方法,,由極限編程中倡導(dǎo),以其倡導(dǎo)先寫(xiě)測(cè)試程序,然后編碼實(shí)現(xiàn)其功能得名。測(cè)試驅(qū)動(dòng)著整個(gè)開(kāi)發(fā)過(guò)程首先,驅(qū)動(dòng)代碼的設(shè)計(jì)和功能的實(shí)現(xiàn)其后,驅(qū)動(dòng)代碼的再設(shè)計(jì)和重構(gòu)。 showImg(https://segmentfault.com/img/remote/1460000017081716); 前言 一直都有聽(tīng)到 TDD 測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的開(kāi)發(fā)方式,之前看...
摘要:查看,則可以看到成功了一個(gè)執(zhí)行命令則可以查看鏡像的層級(jí)執(zhí)行命令鏡像標(biāo)簽名則可以生成一個(gè)運(yùn)行程序。 Docker容器 概述 1、之前項(xiàng)目的部署方式的缺點(diǎn) 通過(guò)物理機(jī)方式部署,如圖所示 showImg(https://segmentfault.com/img/bVbfn8z?w=1366&h=668); 部署非常慢 成本非常高 資源浪費(fèi) 難于遷移和擴(kuò)展 可能會(huì)被限定硬件廠(chǎng)商 2、虛擬化...
閱讀 3203·2021-09-06 15:02
閱讀 2248·2019-08-30 15:48
閱讀 3446·2019-08-29 11:08
閱讀 3289·2019-08-26 13:55
閱讀 2448·2019-08-26 13:35
閱讀 3166·2019-08-26 12:11
閱讀 2602·2019-08-26 11:48
閱讀 888·2019-08-26 11:42