環境與工具3:從打字開始 | vim | sublime

作爲程序員,最不爽的一件事是被親戚叫去修電腦。

“喂,怎麼跟你們講,我是寫代碼的,不是修電腦的!什麼?代碼是什麼?!”

小白:爲什麼程序員就不能修電腦了?

小程:會不會修都有可能,關鍵在於程序員會覺得修電腦是很掉價很low的事情。修電腦,找專業的維修員就對了,給點機會別人賺錢嘛。

小白:那如果是下圖的那位讓你修電腦呢?

小程:……我不僅會修電腦,我還會彈吉他與畫畫。

劉亦菲

修電腦不是程序員的基本技能,而打字,卻是程序員的基本技能之一。

寫代碼、寫說明文檔、寫心得記錄等,打字都是必不可少。一個好的鍵盤是硬件上的需求,而一個好的編輯器則是軟件基礎的重要內容。

小白:不是算法與數據結構纔是最重要的嗎?

小程:作爲一線開發工程師,絕不能只重思路而不管操作細節。程序員應該經常想辦法改善工作流程與工具,才能真正提高工作效率,而編輯器就是其中要考慮的一個工具。

本文解決一個問題:程序員務必找到屬於自已的編輯器。

對於寫程序來說,用什麼編輯器,很多時候是很自然的結果。比如,如果是開發windows桌面軟件的,那自然就選擇微軟的集成開發環境即IDE了,諸如vc、vs之類;再比如xcode、android studio 之類的選擇,都跟開發平臺直接相關。之所以選擇這些IDE,是因爲它們不僅可以編輯代碼,而且還能編譯與調試程序,甚至可以直接運行程序到目標設備。集成而且靠譜,是IDE應該提供的特質。對於特定平臺的大項目的開發,特別是團隊合作時,選擇一個統一而合適的IDE是必要的。

但是,如果是寫說明文檔,寫心得體會或文章編輯,用IDE就不是一個好的選擇,畢竟只用到了編輯的功能,沒有必要去啓動一個龐大的集成開發環境那麼笨拙而且操作緩慢。就算是要編譯調試,也是可以考慮用編輯器加編譯器或調試器的辦法來實現,而不使用IDE。

小白:說那麼多,就是鼓吹要有一個輕便的文檔編輯器了,是嗎,吹神?

小程:是的!有這個東西可以給你工作提速,而且能讓你很爽。

有一堆編輯器可以選擇:

notepad++
textmate
editplus
notepad2
ultraedit
vim
emacs
sublime
......

以上選擇哪一個都可以,只要你用得順手。當然,如果選擇一個跨平臺的,有可能更好,因爲換一個平臺不必另擇新歡。

這裏只介紹 sublimevim

(1)sublime text

sublime是一個容易上手而且能實實在在提高工作效率的工具,值得花時間去掌握(除非你已心有所屬,而且已容不下第二個了)。

小白:我應該怎麼精通這個武器呢?

小程:原則上,在使用時,不要急着去操作,而是多想一想,是不是可以更省事的操作?是不是有更好用的插件等着我去用?你應該不斷地去改進你的工具。至於,具體如何使用sublime,搜索一下教程或經驗總結就好,實戰地用。

sublime的使用經驗不在這裏展開,但我會介紹一個有趣的插件,即plantuml

plantuml,讓你可以寫代碼來繪圖。

使用plantuml繪圖,實際就是寫python代碼。

(a)安裝plantuml插件

在菜單tools中找到Command Palette(或者shift+cmd+p),輸入add repository並回車,輸入
https://github.com/jvantuyl/sublime_diagram_plugin.git
並執行。

再次打開Command Palette(shift+cmd+p),輸入install package,
選擇“Package control:install package”,執行完後,輸入diagram,
再找到sublime_diagram_plugin並安裝。

重啓sublime,在Preferences -> Packages Setting,
如果看到 Diagram, 說明已經安裝成功。

(b)安裝graphviz

需要繪圖工具庫graphviz的支持,安裝:

brew install graphviz

(c)使用puml

新建一個file,開始寫代碼繪圖。按command+m,會顯示一個png圖,比如:
代碼繪圖
代碼繪圖

小白:哇,寫代碼就可以繪圖,這個好酷!

小程:對於簡單的圖,這個工具是一個很好的選擇,但對於複雜的而且有方向指向的圖,別的工具很可能是更好的選擇。並且,sublime的優勢遠不止這個插件的使用。

(2)vim

vi,一個古老而聲名遠播的編輯器。它用鍵盤解決一切問題,可以讓你着迷。

vim的入門是有難度的。同樣,這裏不介紹它的學習,只是演示一下它的使用,如果有興趣可以再深入瞭解。

macvim的演示

macvim演示

小白:哇,到處是刀光劍影!

小程:在熟練掌握vim後,是可以做到指哪打哪的,就是這麼實在!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章