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