【Vim】從離不開vim,到離不開vim

閱讀時間約 4 分鐘

學習動機

作為程式開發人員,一路從Notepad++、VSCode、Eclipse,或多或少都有機會聽過vim,只為了追求極致的開發效率。看看國外直播主ThePrimeagen邊寫程式邊直播,行雲流水的編輯速度,我覺得...我的問題是出在英打。


基本操作

模式

  1. 命令模式 (Command Mode):查找字詞、離開等指令下達
  2. 正常模式 (Normal Mode):檢視檔案
  3. 插入模式 (Insert Mode):輸入、編輯
  4. 可視模式 (Visual Mode):範圍選取


  • 一定要會的迷因:怎麼離開vim?
按下:進入命令模式,輸入q(quit),視情況加上!,表示強制退出
例如 :q!
  • 正常模式下,左下上右移動
hjkl
  • 常用組合
ciw : change inner word
caw: change all word
de: delete till end
db: delete till begin
yy: yank a line
dd: delete a line
u: undo
ctrl + r: redo

其實不難發現,如果指令改以英文進行思考,動作加上次數及要執行的指令,可以組合出很多種變化,在反覆進行這些操作後,思考上漸漸由

"指令是在做什麼事"

轉變成

"要做哪些指令,可以組合出我要的結果"

剩下的只有日積月累的肌肉記憶,至於其他像是巨集功能、對數字直接增減等額外處理方式,最為一個初學,我就不把重點方在這些上面了。


你該學vim嗎?

以下列出幾項使用vim半年以來,稍微習慣移動方式後,我所認為的優缺點:

優點

  1. 在別人眼裡看起來很厲害,手都不用離開鍵盤
  2. 基本上是純文字編輯器,占用系統資源少、檔案開啟跟操作速度反應很快
  3. 常用IDE大多都支援vim擴充套件,不用記多套按鍵組合
  4. 高度客製化,自行設定按鍵綁定

缺點

  1. 學習曲線高,要花點時間才能習慣操作模式
  2. 中英文混合編輯下,輸入法比較容易在進行切換時卡住
  3. 作為其他IDE的擴充套件,可能與原本的快捷鍵發生指令覆蓋或衝突
  4. 習慣了就會不想用vim以外的編輯方式


如果日常工作需要進行大量文字編輯作業,作職涯基本技能的一項學習項目,只能是加分,而不會是必須。隨後,當知道怎麼修改.vimrc加入各式各樣的功能,編輯器最終變得越來越像IDE,或許在IDE中使用vim會是良好的折衷方案,不論如何,僅僅只是基本的vim移動編輯操作,我認為還是值得學習的一項技能。


題外話

Redragon K565R RUDRA(青軸)

Redragon K565R RUDRA(青軸)

自從上次筆電鍵盤壞了以後,一直想買一把機械鍵盤外接使用。在研究了幾周、了解一些常見的軸體,去賣場試打了幾把,最後還是回家網購了一把折扣最多的鍵盤來入門。

今天剛到貨,整體的質感都蠻喜歡的,沒有多餘的邊框,至於9段RGB燈光模式切換就不是我特別主要考量的點。前前後後摸了半小時,直到接上電源要打字的那一刻,才發現鍵帽上面少了注音符號,難怪視覺上清爽了許多。

至於打字起來有比較快嗎? 主觀感覺使用薄膜鍵盤時,打字速度比較快一點,用青軸打字時比較有段落感,不知不覺也會在輸入過程中稍作些停頓,青軸喀拉喀拉的聲響,某種程度上來說還挺紓壓,只不過換到午休中的辦公室或是宿舍,可就不一樣了。



avatar-img
13會員
64內容數
遇到的坑、解過的題、新知識的探索、舊時代的遺毒!? 工作後我發現,文件更新往往跟不上新需求的更迭,犯錯的歷史總是不斷重演。因此,我改變了方式,蒐集從程式上、系統上的每一次異常處理過程,好讓再次遇到相同的問題時能快速應變。此專題就是我的錯題本,期待日後不管在工作上或交流上遇到難題,都能輕鬆地應答:有什麼難的,我都踩過。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Err500 的其他內容
相信很多初學者學python的原因,不外乎語法簡單、好上手、重點是有很多現成的套件可以玩。那麼,Java呢?有!當然有!而且還多到你不知道該選哪個好! 今天的文章主要示範如何在vscode新建立Java 的maven專案,並且透過maven安裝這些額外的套件(依賴)
最近配合公司政策換了新電腦,重新回想起從頭建環境的惡夢。本篇文就來記錄一下如何開始踏入Java的第一步,方便起見也使用相對Eclipse、IntelliJ來說輕量不少的VScode作為編輯器。
那年學測剛放榜,數學老師如往常般走進了教室,看著教室內幾家歡樂幾家愁的氛圍,乾脆輕鬆一下聊點題外話:「有沒有人想填職能治療的?」坐在最後一排打瞌睡的數學小老師頓時從睡夢中驚醒,都還沒回神,老師又補了一句:
大四畢業那一年,我參加了人生中第一次的公務人員高考,並且很幸運的吊上了車尾。看在現代人的眼裡,不過就是有了份安穩的保障,不至於餓死、不容易被裁員,從此開啟了米蟲模式?相反的,在老一輩的傳統觀念,過了高普考如同中了科舉,家裡要出達官顯貴啦!
題目 Given two integer arrays pushed and popped each with distinct values, return true if this could have been the result of a sequence of push and pop
中學以前我並不常做筆記,除了部分老師會以筆記作為打分數的必要要求,勉為其難下才會跟著做點紀錄。高中以後考試範圍急速膨脹,不做點筆記濃縮一下內容,很難在有限的時間內做到多次複習。至於大學...我連原文書都是電子版本或根本沒買。
相信很多初學者學python的原因,不外乎語法簡單、好上手、重點是有很多現成的套件可以玩。那麼,Java呢?有!當然有!而且還多到你不知道該選哪個好! 今天的文章主要示範如何在vscode新建立Java 的maven專案,並且透過maven安裝這些額外的套件(依賴)
最近配合公司政策換了新電腦,重新回想起從頭建環境的惡夢。本篇文就來記錄一下如何開始踏入Java的第一步,方便起見也使用相對Eclipse、IntelliJ來說輕量不少的VScode作為編輯器。
那年學測剛放榜,數學老師如往常般走進了教室,看著教室內幾家歡樂幾家愁的氛圍,乾脆輕鬆一下聊點題外話:「有沒有人想填職能治療的?」坐在最後一排打瞌睡的數學小老師頓時從睡夢中驚醒,都還沒回神,老師又補了一句:
大四畢業那一年,我參加了人生中第一次的公務人員高考,並且很幸運的吊上了車尾。看在現代人的眼裡,不過就是有了份安穩的保障,不至於餓死、不容易被裁員,從此開啟了米蟲模式?相反的,在老一輩的傳統觀念,過了高普考如同中了科舉,家裡要出達官顯貴啦!
題目 Given two integer arrays pushed and popped each with distinct values, return true if this could have been the result of a sequence of push and pop
中學以前我並不常做筆記,除了部分老師會以筆記作為打分數的必要要求,勉為其難下才會跟著做點紀錄。高中以後考試範圍急速膨脹,不做點筆記濃縮一下內容,很難在有限的時間內做到多次複習。至於大學...我連原文書都是電子版本或根本沒買。
本篇參與的主題活動
這是一篇評測Hyread Gaze Mini+閱讀器的文章,內容包含硬體規格、使用體驗與品管售後服務等,作者分享了他對這款閱讀器的評價與使用心得。
先前麥克買了在預算及性能方面都十分複合需求的NXTPAPER 11平板,但拿到辦公室使用後便發現因為時不時有簡報需求,主機本身不支援有線視訊輸出實在是非常不方便,因又開始尋找新歡。最終麥克選擇了算是還滿熟悉的品牌小米旗下的小米平板6,以下為麥克這一個月下來的使用心得。
從預計的十月底出貨經過重重波折,Pubu自家開發的10寸彩色閱讀器Pubook Pro終於是送到第一批集資者手中了。究竟這台閱讀器有沒有本事撼動目前的電子紙閱讀器市場?有達到集資時承諾的各項功能嗎?且讓身為首批集資者之一的麥克跟大家談談收到主機後使用數天的感想。
Steam Deck 迎來大改版,最重要的更新就是換成 OLED 螢幕。使用 OLED 螢幕帶來更好看的顏色,大小還小幅提升到 7.4 吋。關係續航力的電池也從 40 瓦小時升級到 50 瓦小時, 3A 大作都可以多玩一小時呢!這麼香的更新,怎麼不給他買下去呢 😄
這是一篇評測Hyread Gaze Mini+閱讀器的文章,內容包含硬體規格、使用體驗與品管售後服務等,作者分享了他對這款閱讀器的評價與使用心得。
先前麥克買了在預算及性能方面都十分複合需求的NXTPAPER 11平板,但拿到辦公室使用後便發現因為時不時有簡報需求,主機本身不支援有線視訊輸出實在是非常不方便,因又開始尋找新歡。最終麥克選擇了算是還滿熟悉的品牌小米旗下的小米平板6,以下為麥克這一個月下來的使用心得。
從預計的十月底出貨經過重重波折,Pubu自家開發的10寸彩色閱讀器Pubook Pro終於是送到第一批集資者手中了。究竟這台閱讀器有沒有本事撼動目前的電子紙閱讀器市場?有達到集資時承諾的各項功能嗎?且讓身為首批集資者之一的麥克跟大家談談收到主機後使用數天的感想。
Steam Deck 迎來大改版,最重要的更新就是換成 OLED 螢幕。使用 OLED 螢幕帶來更好看的顏色,大小還小幅提升到 7.4 吋。關係續航力的電池也從 40 瓦小時升級到 50 瓦小時, 3A 大作都可以多玩一小時呢!這麼香的更新,怎麼不給他買下去呢 😄
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
書寫的工具,以前沒有智慧型手機,只有功能性按鍵手機的年代,只要紙和筆就能寫,現在主要使用手機輸入,因為方便迅速,也不需要儀式感,想到什麼就用右手食指按按螢幕輸入Keep記事。 數位輸入還不方便的年代或者現在,大家寫文是否有使用專門書寫的記事本?我是沒有,所以先前發表幾則的詩詞短文,還是我從學生時
Thumbnail
理解一個全新的操作環境有時候可能是一個挑戰,尤其對於那些剛開始接觸VS Code的開發者來說,即便具備一定的英文閱讀能力,可能也會對這個陌生的操作環境感到徬徨和不安。不過,沒有必要擔心,我們接下來就來一起用短短的一分鐘時間,將VS Code轉換成最熟悉的中文環境吧! 安裝繁體中文語言包 由於VS
Thumbnail
我拿筆,也用鍵盤。 用鍵盤打字,可以藉著幾乎和腦袋運轉一樣的速度紀錄正在想的事情,在打字的過程中,慢慢想清楚一些事情。 同時無限發散。 拿筆呢,可能一樣發散,但因為寫字的速度跟不上腦袋發散的速度,所以多少會稍微聚焦一點。而且,寫字總是有一種舒服的感覺。 心情很不好的時候,寫字還有一種排毒的作
Thumbnail
繼上次的 markdown 語法介紹後,這次要來和大家分享一套可以說是 Mac 用戶專屬的快捷鍵 。雖然功能和 markdown 差不多,但是我認為在效率以及上手難作度上可謂天差地別!
Thumbnail
今天來分享一個好像有點廢的小技巧 把網頁變成可以直接用來打字的文字編輯器
Thumbnail
手指在鍵盤上不斷的敲打著,盡是一些沒有條理的字句,待我停下所有的動作,看著自己敲打出來的字句,我為自己做了個總結,我允許我自己今日思緒紛亂。
Thumbnail
VS code是什麼? Visual Studio Code(通常縮寫為VS Code)是微軟開發的一款免費且開源的跨平台文本編輯器。它支持廣泛的編程語言,提供了一系列先進功能和插件,讓開發者能更有效率地進行代碼編寫。VS Code擁有優秀的代碼自動完成、錯誤偵測、內建的版本控制系統等特性。
Thumbnail
長時間使用電腦的你,喜歡使用什麼類型的鍵盤? 1. 可以使用就好 2. 每天都要用,買一個自己喜歡的造型,用來工作,心情也會好點 3. 作為玩家,只要有RGB,規格什麼的不重要 4. 除了有RGB,觸發時間和軸體,也是很重要的~
Thumbnail
過了許久終於要從筆電換成了桌機,電腦配件幾乎也都需要再添購,這次看了很久的鍵盤,每一次都跑到3C店給他一直按來按去。最終挑到了這把 irocks K86R!
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
書寫的工具,以前沒有智慧型手機,只有功能性按鍵手機的年代,只要紙和筆就能寫,現在主要使用手機輸入,因為方便迅速,也不需要儀式感,想到什麼就用右手食指按按螢幕輸入Keep記事。 數位輸入還不方便的年代或者現在,大家寫文是否有使用專門書寫的記事本?我是沒有,所以先前發表幾則的詩詞短文,還是我從學生時
Thumbnail
理解一個全新的操作環境有時候可能是一個挑戰,尤其對於那些剛開始接觸VS Code的開發者來說,即便具備一定的英文閱讀能力,可能也會對這個陌生的操作環境感到徬徨和不安。不過,沒有必要擔心,我們接下來就來一起用短短的一分鐘時間,將VS Code轉換成最熟悉的中文環境吧! 安裝繁體中文語言包 由於VS
Thumbnail
我拿筆,也用鍵盤。 用鍵盤打字,可以藉著幾乎和腦袋運轉一樣的速度紀錄正在想的事情,在打字的過程中,慢慢想清楚一些事情。 同時無限發散。 拿筆呢,可能一樣發散,但因為寫字的速度跟不上腦袋發散的速度,所以多少會稍微聚焦一點。而且,寫字總是有一種舒服的感覺。 心情很不好的時候,寫字還有一種排毒的作
Thumbnail
繼上次的 markdown 語法介紹後,這次要來和大家分享一套可以說是 Mac 用戶專屬的快捷鍵 。雖然功能和 markdown 差不多,但是我認為在效率以及上手難作度上可謂天差地別!
Thumbnail
今天來分享一個好像有點廢的小技巧 把網頁變成可以直接用來打字的文字編輯器
Thumbnail
手指在鍵盤上不斷的敲打著,盡是一些沒有條理的字句,待我停下所有的動作,看著自己敲打出來的字句,我為自己做了個總結,我允許我自己今日思緒紛亂。
Thumbnail
VS code是什麼? Visual Studio Code(通常縮寫為VS Code)是微軟開發的一款免費且開源的跨平台文本編輯器。它支持廣泛的編程語言,提供了一系列先進功能和插件,讓開發者能更有效率地進行代碼編寫。VS Code擁有優秀的代碼自動完成、錯誤偵測、內建的版本控制系統等特性。
Thumbnail
長時間使用電腦的你,喜歡使用什麼類型的鍵盤? 1. 可以使用就好 2. 每天都要用,買一個自己喜歡的造型,用來工作,心情也會好點 3. 作為玩家,只要有RGB,規格什麼的不重要 4. 除了有RGB,觸發時間和軸體,也是很重要的~
Thumbnail
過了許久終於要從筆電換成了桌機,電腦配件幾乎也都需要再添購,這次看了很久的鍵盤,每一次都跑到3C店給他一直按來按去。最終挑到了這把 irocks K86R!