如何提高程序員的鍵盤使用效率?——ASE第一次作業


引言

對於程序員來說,鍵盤輸入是我們工作的基本方式,當你的手指在鍵盤上飛起來的時候,不但能夠提高工作效率,還常常引來旁人羡慕的目光。下面將從不同方面介紹一些提高鍵盤使用效率的方法。

程序員最主要的文字輸入內容是代碼輸入,本文將主要討論英文和代碼的輸入能力,最后將稍微討論一下如何提高中文輸入能力。

准備

一說到“提高鍵盤輸入能力”,大家都會想到要練習打字,沒錯,練習打字就是我們提高鍵盤輸入能力的主要途徑。在正式練習打字之前,一些相關的准備也許會幫助你在練習打字的過程中事半功倍,或是讓你更有練習打字的意願。

鍵盤

很多人享受打字時機械鍵盤的噼里啪啦聲,不過並不是所有人都有購置機械鍵盤的計划。這時不妨試試Tickeys這款軟件,它雖然不能提供機械鍵盤的觸覺反饋,但是能夠模仿機械鍵盤的聲音,讓你在沒有機械鍵盤的時候也能享受按鍵聲音的愉悅,讓你愛上打字。

鍵位選擇

不少讀者可能聽說過鼎鼎大名的Dvorak鍵盤家族,其擁護者宣稱Dvorak鍵盤是更科學高效的鍵位設計。不過我是不推薦使用Dvorak鍵盤家族的。我認為,對於寫代碼來說,鍵入效率並不是那么重要,只要鍵入速度不拖思路的后腿就可以了,不值得為了鍵入效率而花費巨大的精力和時間去適應新鍵位。同時,還有以下理由:

  • Dvorak鍵盤家族的效率可能沒有想象中的那么高。這些鍵位基本都是針對英文輸入設計的,無法同時滿足輸入中英文都能提高效率的需求。另外,鍵位改變之后,各種軟件中的原本好用的快捷鍵會變得難用。
  • Dvorak鍵盤限制了你的自由。如果你想在所有平台上都使用Dvorak鍵盤,不但會花費相當大的精力,而且會失去使用一些本身很好用的平台、設備或軟件的機會,只因為它們不支持Dvorak鍵盤的機會。而且不論你怎么努力,你總有被迫使用qwerty鍵盤的時候,這時又要重新熟悉原來的鍵位。

總之,使用Dvorak鍵盤很可能是弊大於利的,如果想深入了解,可以參考這篇文章。所以,我還是推薦使用傳統的qwerty鍵盤。

指法

標准指法是一種公認比較合理的指法方案,強烈建議學習標准指法。有的讀者可能會想,我原本的指法打字也很快啊。事實上,標准指法能夠提高鍵入效率的上限,剛剛開始輸入效率會降低一段時間,練習一段時間后效率能得到很大的提升。另外,標准指法的手指分工更加科學,能夠減少長時間打字產生的疲勞。

關於標准指法的詳細介紹,參加標准打字指法;更多基於標准指法的建議,可以參考一個過來人的打字指法糾正之路

打字練習

輸入效率的指標

輸入效率的通用指標是打字速度和准確率。其中打字速度的單位是WPM,意為每分鍾能輸入多少單詞(字)。有不少測試工具能夠檢測你的輸入效率。在此提供一個在線測速網站:Typeracer。在 Typeracer 中,你可以在線和全世界的打字愛好者同台競賽,測試出自己的打字速度的同時,還能大致了解自己的輸入效率處於一個什么水平。

我認為,打字速度在 30 - 50 WPM即可滿足一般的代碼輸入需求。目前我的打字速度只有 20 WPM,准確率在95%左右,看來我還需要一定的練習。

打字練習網站

不用說,盲打是效率最高的打字方式,而且熟練的打字都是靠肌肉記憶。我找到了幾個廣為推薦的打字練習網站,這些網站都是教會你盲打和培養肌肉記憶為宗旨。我將選擇自己喜歡的網站進行正式的打字練習,你也可以選擇自己喜歡的打字網站。

Typing

Typing 提供了從入門到進階共計45門打字課程,還提供足夠的不同領域的練習文本,其中甚至還有針對HTML和CSS使用者的內容。另外,還有8個打字小游戲供你練習。

我體驗了幾節入門課程,課程包括一些完全從0開始教起的視頻教程、鍵入練習和穿插其中的打字小游戲。鍵入練習的虛擬鍵盤也提供了包含按鍵手勢的的指法提示,對於不熟悉標准指法的用戶非常友好。

總之,Typing比較適合從0開始,不熟悉標准指法的打字練習者。

Typingclub

Typingclub 提供了648個關卡供你練習打字,經過體驗下來,Typingclub和Typing是差不多的,課程內容基本一樣,只是字母的學習順序和一些交互細節有所不同,不妨分別體驗一下,選擇你喜歡的網站進行打字練習。

Kebr

Kebr 網站只有這一個界面,但是其設計卻大有學問。屏幕上的鍵位圖幫助你熟悉鍵盤,豐富的數據監測幫助你了解自己目前的輸入效率。最有特色的是其練習文本:

  • 練習特定字母的時候,文本不再是簡單枯燥的“jjjfff”這種無意義的字符串,而是英文中真正會出現的字母組合。
  • Kebr 會根據你打字時的數據針對性設計文本,專門練習你的弱項字母。
  • 練習文本中字母出現的頻率符合一般的英文文本中字母出現的頻率,字頻更高的字母你將練習得更多。

我在體驗的過程中發現,屏幕中的鍵位圖在輸入時沒有指法提示,在對標准指法不熟悉的階段可能需要適應一段時間。所以,該網站比較適合對標准指法比較熟悉的打字練習者。

Speedcoder

程序員打字的特點是單詞分布比較集中,需要輸入大量的符號,而 Speedcoder 就是一個針對程序員打字需求的網站,為程序員提供真實的代碼作為練習素材,支持 C, C++, Java, Python, Javascript, PHP等十余種編程語言,還可以上傳自己的代碼作為練習素材。同樣的,Speedcoder 支持虛擬鍵盤以及指法提示,不過不像前兩個那樣提供按鍵手勢。該網站適合程序員的代碼輸入練習。

練習方案

對於以上提供的幾個網站,你既可以堅持使用一個網站進行打字練習,也可以組合使用,不論如何只要堅持練習,輸入效率一定會有所提升。組合使用的話,我推薦的方案是先使用 Typing 或者 Typingclub 練習所有的按鍵,熟悉標准指法,然后使用 Kebr 進行鞏固練習,最后使用 Speedercoder 進行代碼輸入專項練習,也可以在熟悉標准指法后直接使用 Speedercoder 進行練習。

快捷鍵

Cheat Sheet

快捷鍵能讓程序員盡量拜托鼠標,是提高鍵入效率的利器。各種軟件都有各自好用的快捷鍵,但是記憶大量的快捷鍵的負擔是很重的,忘記自己想用的快捷鍵再去查詢設置就有些麻煩,Cheat Sheet是一個克服這個問題的不錯的選擇。在Cheat-Sheets.orgCheatography這兩個網站中你可能會找到你需要的Cheat Sheet,在一開始仔細閱讀一下Cheat Sheet,保存起來以備查閱,

當然,不少軟件查詢快捷鍵也很方便。比如在VS Code中,可以按ctrl+k,ctrl+s來打開快捷鍵查詢和綁定頁面;或者是按F1打開終端輸入命令shortcuts來打開一個實時更新的VS Code快捷鍵的Cheat Sheet文檔。

你也可以試着建立自己的Cheat Sheet,前面提到的Cheatography即可滿足你自制Cheat Sheet需求。

Vim

在寫作本文時,我還不會使用Vim。出於對提高鍵入效率的考慮,我已經決定開始學習Vim,原因有以下幾點:

  • Vim雖然是一款古老的編輯器,但是其輸入思想非常高效。
  • 面對復雜的編輯需求時,Vim更是無可匹敵的存在。
  • 有些時候你將不得不使用Vim,比如ssh登錄Linux時。
  • 當你使用不同的IDE、編輯器時,需要記憶大量不同的快捷鍵方案,即時是查閱Cheat Sheet也有些笨拙。而不少流行的IDE和編輯器往往都支持Vim擴展,學會Vim的使用后你掌握一套可以到處使用的高效快捷鍵方案。學習Vim將使你受益終生。

不少人對Vim陡峭的學習曲線望而卻步,之前的我也是如此。Vim 不是那么可怕,這里有5個免費的資源可以用來學習它這篇文字集合了一些高質量的Vim學習方法,相信你能夠通過這些資源掌握Vim。

中文寫作

除了輸入代碼之外,程序員也有寫博客、文檔等中文寫作需求,相信大家對自己的中文鍵入速度都有一定的自信,而排版會耽誤一些寫作時間,或者是為了省事放棄了排版。事實上,高效和美觀是可以兼得的。

Markdown 是一種輕量級標記語言,非常適合博客、文檔這種沒有硬性排版要求的場景,Github的默認Readme文檔就是Markdown 格式的,本文也是用Markdown 寫作的。Markdown 語言有如下優點:

  • 語法簡單。Markdown 語言最常用的語法規則不到十條,而且都很簡單,能夠被迅速掌握。想要快速了解常用的Markdown語法,可以參考Markdown教程語法匯總大全

  • 輸入流暢。和所見即所得的富文本編輯器不同,Markdown 是一種標記語言,用純文字就能賦予文檔格式。在大部分寫作場景中,Markdown 能夠讓你在寫作時雙手不離開鍵盤,這對提高輸入效率是非常重要的。

  • 跨平台性好。在各大平台都有非常優秀的Markdown編輯器,很多博客網站也支持用Markdown寫作。在不同平台上,Markdown 文檔的顯示效果也能保證基本一致。

如果你對Markdown非常感興趣,可以參考Markdown 完全入門深入了解Markdown語言。

如果你使用的是Win平台,推薦一款非常優秀的Markdown編輯器:Typora。本文就是在Typora上編輯的。Typora的優點有很多,下面介紹兩個比較重要的:

  • Typora的主打功能是即時渲染,能夠將Markdown源碼立即渲染成帶格式的文本,讓Markdown也能“所見即所得”。
  • Typora提供了打字機模式和專注模式。打字機模式是讓當前行始終保持在屏幕中央,專注模式是將除了當前行以外的所有文字變成灰色。Typora本身的UI就非常簡潔,這兩個模式相互配合能夠讓你更加專注地進行寫作,進一步提高輸入效率。

參考讓 Markdown 寫作更簡單,免費極簡編輯器:Typora,了解Typora的更多特性,相信我,Typora絕對不會辜負你的期望。

總結

Programming is not about typing, it's about thinking. —— Rich Hickey

鍵盤輸入效率雖然重要,但是追求太高的輸入速度是沒有意義的,只要能夠滿足基本的輸入需求即可。對於程序員來說,最重要的是代碼思想和能力,在編程的過程中真正用於鍵盤輸入的時間是很少的,現實情況往往是思路遠遠跟不上你的鍵入速度,花費過多的時間在“提高效率”上面反而是一種浪費,不如把這些時間花在提高代碼能力上面。

祝願讀者的鍵入效率和代碼能力能夠齊頭並進。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM