【Linux】效率革命:Vim-用26個字母鍵重構你的程式碼宇宙

【Linux】效率革命:Vim——用26個字母鍵重構你的程式碼宇宙

目錄
前言
一、Vim是什麼?
二、為什麼選擇Vim?
三、Vim的核心模式
3.1 命令模式(Normal Mode)
3.2 插入模式(Insert Mode)
3.3 底行模式(Command-line Mode)
四、Vim的基本操作
4.1 進入vim
4.2 模式切換
【命令模式】↔【插入模式】
【命令模式】↔【底行模式】
4.3 退出vim
五、命令模式的命令集
5.1 移動游標
5.2 刪除文字
5.3 複製
5.4 替換
5.5 撤銷與恢復
5.6 更改
5.7 跳至指定的行
六、底行模式的命令集
6.1 儲存檔案
6.2 退出
6.3 強制執行
6.4 設定行號
6.5 多文字操作
七、Vim的配置
7.1 Vim 配置檔案的位置
7.2 常用配置項
7.3 自動化一鍵配置

前言
在程式碼的世界裡,效率是永恆的追求。無論是新手開發者還是資深工程師,都渴望擁有一款能讓自己如虎添翼的編輯器。而在Linux生態中,有一款被無數程式設計師奉為神器、被譽為“效率之王”的編輯器——Vim。它以26個字母鍵為核心,用極簡的操作重構了程式碼編輯的宇宙。今天,就讓我們一同走進Vim的世界,探索它如何以獨特的方式提升你的程式設計效率。

一、Vim是什麼?

Vim(Vi IMproved)是一款高度可配置的文字編輯器,最初作為Vi編輯器的改進版釋出。它執行在大多數類Unix系統(如Linux、macOS)上,同時也支援Windows平臺。Vim的設計哲學是“模式化編輯”,透過不同的操作模式(如普通模式、插入模式、可視模式等)來高效地完成文字編輯任務。

二、為什麼選擇Vim?

1.極致效率:Vim的操作幾乎完全基於鍵盤,無需頻繁切換滑鼠,讓雙手始終保持在鍵盤上,極大地提高了編輯速度。
2.高度可定製:Vim提供了豐富的配置選項和外掛生態,使用者可以根據自己的需求定製專屬的編輯環境。
3.跨平臺相容:無論是Linux、macOS還是Windows,Vim都能提供一致的使用體驗。
4.學習曲線陡峭但回報豐厚:雖然Vim的學習曲線相對較陡,但一旦掌握,你將發現它帶來的效率提升是任何其他編輯器都無法比擬的。

三、Vim的核心模式

Vim的精髓在於其模式化設計,下面給大家介紹一下Vim在使用時幾種常用的模式:

3.1 命令模式(Normal Mode)

預設模式,所有移動和編輯命令都基於此模式。

3.2 插入模式(Insert Mode)

插入模式顧名思義,是用來插入文字的。我們在鍵盤上找到a、i、o鍵就能進入插入模式。

3.3 底行模式(Command-line Mode

透過**:**進入,用於執行Vim命令,如儲存檔案(:w)、退出Vim(:q)等。

四、Vim的基本操作

4.1 進入vim

 首先我們輸入vim 檔名,就可以開啟vim。
語法:vim 檔名
功能:用vim開啟檔案。

剛進入vim預設的模式就是命令模式,如下圖:

4.2 模式切換

【命令模式】↔【插入模式】
命令模式→插入模式:
1、按 “ a ” 鍵:進入插入模式後,在游標當前位置的下一個位置開始插入文字。
2、按 “ i  ” 鍵:進入插入模式後,在游標當前位置開始插入文字。
3、按 “ o ” 鍵:進入插入模式後,插入新一行開始插入。
插入模式→命令模式:按 “Esc” 鍵。 
【命令模式】↔【底行模式】
命令模式→底行模式:shift + ' ; '(也就是輸入' : ')
底行模式→命令模式:按 “Esc” 鍵。 
插入模式和底行模式不能直接切換,只能透過命令模式來切換,所以命令模式是使用最頻繁的模式。

4.3 退出vim

退出vim一共有兩種方法:
  • • 在命令模式下,輸入大寫的“ZZ”。
  • • 在底行模式下,輸入w儲存當前檔案,輸入q退出vim。wq:儲存並且退出。q!:不儲存,強制退出。(加個感嘆號就是強制的意思)

五、命令模式的命令集

5.1 移動游標

  • • 基礎移動
    • • 「h」:游標左移一格。(在鍵盤最左,所以是左)
    • • 「j」:游標下移一格。(jump,向下跳,所以是下)
    • • 「k」:游標上移一格。(king,國王高高在上,所以是上)
    • • 「l」:游標右移一格。(在鍵盤最右,所以是右)   

  • • 特定位置移動
    • • 「G」:移動到文字最後。(shift + ‘ g ’)
    • • 「$」:移動到游標所在行的行尾。(shift + ‘ 4 ’)
    • • 「^」:移動到游標所在行的行首。(shift + ‘ 6 ’)
    • • 「w」:游標跳到下個單詞的開頭。
    • • 「e」:游標跳到下個單詞的字尾。
    • • 「b」:游標回到上個單詞的開頭。
    • • 「nl」:游標移到該行的第n個位置,如:5l, 56l。
    • • 「gg」:進入到文字開始。
  • • 螢幕移動
    • • 「Ctrl + b」:螢幕往後移動一頁。
    • • 「Ctrl + f」:螢幕往前移動一頁。
    • • 「Ctrl + u」:螢幕往後移動半頁。
    • • 「Ctrl + d」:螢幕往前移動半頁。

5.2 刪除文字

  • • 單個字元刪除
    • • 「x」:刪除游標所在位置的一個字元。
    • • 「#x」:例如,「6x」表示刪除游標所在位置後面(包含自己在內)6個字元。
    • • 「X」:每按一次,刪除游標所在位置的前面一個字元。(shift + ‘ x ’)
    • • 「#X」:例如,「20X」表示刪除游標所在位置的前面20個字元。
  • • 整行刪除
    • • 「dd」:刪除游標所在行。
    • • 「#dd」:從游標所在行開始刪除#行。

5.3 複製

  • • 字元複製
    • • 「yw」:將游標所在之處到字尾的字元複製到緩衝區中。
    • • 「#yw」:複製#個字到緩衝區。
  • • 整行復制
    • • 「yy」:複製游標所在行到緩衝區。
    • • 「cyy」:c代表c行,例如,「6yy」表示複製從游標所在的該行往下數6行文字。
  • • 貼上
    • • 「p」:將緩衝區內的字元貼到游標所在位置。注意:所有與“y”有關的複製命令都必須與“p”配合才能完成複製與貼上功能。
  • • 剪下
    • • 「dd」:剪下游標所在行到緩衝區。

5.4 替換

  • • 單個字元替換
    • • 「r」:替換游標所在處的字元。
    • • 「R」:替換游標所到之處的字元,直到按下「ESC」鍵為止。(shift + ‘ r ’)(實際上是從命令模式進入到替換模式,而按ESC是退出替換模式到命令模式)
    • • 「~」:將游標所到之處的字元進行大小寫變換,如果是大寫字母就變成小寫,如果是小寫字母就變成大寫。(shift + ‘ · ’)

5.5 撤銷與恢復

  • • 撤銷上一次操作
    • • 「u」:撤銷,回到上一個操作。按多次“u”可以執行多次撤銷。
  • • 撤銷的恢復
    • • 「Ctrl + r」:恢復,回到撤銷前的操作(反撤銷)。按多次可以執行多次恢復。

5.6 更改

  • • 「cw」:更改游標所在處的字到字尾處。
  • • 「c#w」:例如,「c3w」表示更改3個字。

5.7 跳至指定的行

  • • 「Ctrl + g」:列出游標所在行的行號。
  • • 「#G」:例如,「15G」,表示移動游標至文章的第15行行首。

六、底行模式的命令集

6.1 儲存檔案

  • • 「w」:在冒號後輸入字母「w」,儲存檔案。

6.2 退出

  • • 退出
    • • 「q」:按「q」退出vim。如果無法離開,可以在「q」後跟一個「!」強制離開。
  • • 儲存並退出
    • • 「wq」:建議離開時搭配「w」一起使用,這樣在退出時還可以儲存檔案。

6.3 強制執行

  • • 強制退出
    • • 「!q」:強制退出,不儲存任何修改。
  • • 強制儲存
    • • 「!w」:強制儲存檔案,覆蓋原有的只讀限制(前提是有許可權)。

6.4 設定行號

  • • 「set nu」:列出游標所在行的行號。

  • • 「set nonu」:撤銷游標所在行的行號。

6.5 多文字操作

在底行模式中我們可以利用 vs 檔名 來實現多檔案同屏。

我們還可以透過「Ctrl + w + w」來讓游標跳轉到下一個檔案。

七、Vim的配置

我們在插入模式中,由於未經配置,vim不像其它編譯器那樣有自動補全或者顯示行號高亮等功能,導致我們在使用的時候會感到用起來並不是那麼絲滑,這個時候我們就需要對vim進行配置。

7.1 Vim 配置檔案的位置

配置項一般都放在家目錄的 .vimrc 檔案中,這個 .vimrc 就叫做配置檔案。如果使用者當前沒有配置檔案,則可以自己touch一個。

之後我們可以透過 vim .vimrc 來開啟配置檔案並且進行配置項的編輯。

7.2 常用配置項

syntax on                                 " 自動語法高亮set nu                                    " 顯示行號set tabstop=4                             " 設定 tab 長度為 4set cursorline                            " 突出顯示當前行......
網上還有更多的配置項,大家可根據需要自己搜尋進行配置。

7.3 自動化一鍵配置

這裡分享一個可以自動化配置的方案:
VimForCpp: 快速將vim打造成c++ IDE
只需要輸入這行程式碼即可完成一鍵配置:
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
但是要注意兩點,首先強烈不建議使用root賬戶操作,其次該外掛只支援 Centos7 x86_64. ,也就是說Ubuntu不支援該外掛,但是也可以自行搜尋進行配置。
連結:https://blog.csdn.net/Miracle_86/article/details/147389784?spm=1000.2115.3001.10526&utm_medium=distribute.pc_feed_blog_category.none-task-blog-classify_tag-11-147389784-null-null.nonecase&depth_1-utm_source=distribute.pc_feed_blog_category.none-task-blog-classify_tag-11-147389784-null-null.nonecase
(版權歸原作者所有,侵刪)
文末福利
就目前來說,傳統運維衝擊年薪30W+的轉型方向就是SRE&DevOps崗位。
為了幫助大家早日擺脫繁瑣的基層運維工作,給大家整理了一套高階運維工程師必備技能資料包,內容有多詳實豐富看下圖!
共有 20 個模組
1.38張最全工程師技能圖譜
2.面試大禮包
3.Linux書籍
4.go書籍
······
6.自動化運維工具
18.訊息佇列合集
 以上所有資料獲取請掃碼
備註:最新運維資料
100%免費領取
(後臺不再回復,掃碼一鍵領取


相關文章