日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Vim从理解到应用

發布時間:2025/3/8 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vim从理解到应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1991 年,來自荷蘭的一名工程師 Bram Moolenaar 為了在他的Amiga計算機上復制Vi的功能,正式發布 了Vim的第一個版本。在當時無論誰也沒想到,這款軟件未來能在技術圈爆發出那么大的威力,為千千萬萬的工程師節省了無數時間,大幅提升他們的開發效率。

從Vi衍生出來的Vim有著不同于大多數編輯器的使用方式:通過鍵盤對多種模式的相互切換,進行各項命令的執行和對文本的編寫。這種方式使得Vim可以不用進行菜單或者鼠標操作,并且最小化組合鍵的操作。對文字錄入員或者程序員可以大大增強速度和效率。

接下來我們將開始對Vim的學習。

1、Vim模式介紹

Vim具有6種基本模式和5種派生模式,我們將只簡單介紹下6種基本模式:

  • 普通模式(Normal mode)(常用)
    在普通模式中,用的編輯器命令,比如移動光標,刪除文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。

  • 插入模式(Insert mode)(常用)
    在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯過程中一直保持這個模式。
    在插入模式中,可以按ESC鍵回到普通模式。

  • 可視模式(Visual mode)
    這個模式與普通模式比較相似。但是移動命令會擴大高亮的文本區域。高亮區域可以是字符、行或者是一塊文本。當執行一個非移動命令時,命令會被執行到這塊高亮的區域上。Vim的"文本對象"也能和移動命令一樣用在這個模式中。

  • 選擇模式(Select mode)
    這個模式和無模式編輯器的行為比較相似(Windows標準文本控件的方式)。這個模式中,可以用鼠標或者光標鍵高亮選擇文本,不過輸入任何字符的話,Vim會用這個字符替換選擇的高亮文本塊,并且自動進入插入模式。

  • 命令行模式(Command line mode)(常用)
    在命令行模式中可以輸入會被解釋成并執行的文本。例如執行命令(:鍵),搜索(/和?鍵)或者過濾命令(!鍵)。在命令執行之后,Vim返回到命令行模式之前的模式,通常是普通模式。

  • Ex模式(Ex mode) 這和命令行模式比較相似,在使用:visual命令離開Ex模式前,可以一次執行多條命令。

六種基本模式中以普通、插入和命令行三種模式最為常用,因為這三種模式的相互配合即可完成基本的編輯功能(普通模式:對文本進行復制、粘貼、刪除、撤銷等操作;插入模式:編寫文本內容;命令行模式:保存、退出文檔,以及設置編輯環境)。

vim啟動進入普通模式后,可通過按i鍵(插入)或a鍵(附加)進入插入模式,通過:鍵進入命令行模式。而當Vim處于插入模式或者命令行模式,均可以用過按Esc鍵或者Ctrl+[回到普通模式。

2、Vim的進出與游標移動

2.1、Vim的打開

使用vim命令進入vim界面,命令格式如下

vim 文件名

默認條件下為當前路徑下的相應文件,如果文件不存在將新建文本后打開Vim。

2.2、游標移動與跳轉

在普通模式下,使用方向鍵或者反人類的h、j、k、l鍵可以移動游標,并通過w、b、e等鍵進行游標的跳轉,具體內容參見下表:

按鍵說明
nG(n Shift+g)游標移動到第n行(行間跳轉)
gg游標移動到第一行(行間跳轉)
G(Shift+g)游標移動到最后一行(行間跳轉)
b到前一個單詞的開頭
w到下一個單詞的開頭
e到當前單詞的結尾
ge到前一個單詞的結尾
0或^到行頭
$到行尾
f<字母>向后搜索<字母>并跳轉到第一個匹配的位置(很實用)
F<字母>向前搜索<字母>并跳轉到第一個匹配的位置(實用)
t<字母>向后搜索<字母>并跳轉到第一個匹配的位置之前的一個字母(不常用)
T<字母>向前搜索<字母>并跳轉到第一個匹配的位置之后的一個字母(不常用)

注:在命令行模式下,可通過輸入:set nu以顯示行號

2.3、Vim的退出與保存

2.3.1命令行模式下的退出
在命令行模式下,常用輸入wq回車,保存并退出編輯,下表為具體的退出方式:

命令說明
:q退出
:wq保存并退出
:q!強制退出
:wq!強制保存并退出
:x保存并退出
:w<文件路徑>另存為
:saves 文件路徑另存為

2.3.3普通模式下的退出
普通模式下用戶可以使用Shift+zz進行保存并退出操作!

3、Vim的增刪改查、復制粘貼撤銷與快速縮進

不知道為什么,一提到增刪改查我就很激動。

3.1、增刪改查

3.1.1、增加(插入)操作
Vim很直接的擁有一個插入模式進行插入操作,下表為在普通模式下進入插入模式的具體方式(不包括通過替換方式進入插入模式的方法):

按鍵說明
i在當前光標處進行編輯
I在行首插入
a在光標后插入編輯
A在行末插入
o在當前行后插入一個新行
O在當前行前插入一個新行

3.1.2、刪除操作
進入普通模式,使用下列命令可以進行文本快速刪除:

命令說明
x刪除游標所在的字符
X刪除游標所在前一個字符
Delete刪除游標所在的字符(同x)
dd刪除整行
dw刪除一個單詞(不適用中文)
d$或D刪除至行尾
d^刪除至行首
dG刪除到文檔結尾處
d1G刪至文檔首部

3.1.3、修改(替換)操作
替換是針對普通模式下的操作,具體操作間下表:

命令說明
r+<待替換字母>將游標所在字母替換為指定字母
R連續替換,直到按下Esc
cc替換整行,即刪除游標所在行(將進入插入模式)
cw替換一個單詞,即刪除一個單詞(將進入插入模式)
C替換游標以后至行末
~反轉游標所在字母大小寫

3.1.4、查找操作
普通模式下輸入 / 然后鍵入需要查找的字符串 按回車后就會進行查找。 ? 與/ 功能相同,只不過 ? 是向上而 / 是向下查找。 進入查找之后,輸入n 和 N 可以繼續查找。 n是查找下一個內容,N查找上一個內容。
此外,普通模式下可以使用*(或g*)和#(或#)來向下和向上尋找游標所在處的單詞。

3.2、復制、粘貼、撤銷與快速縮進

3.2.1、復制粘貼與剪切粘貼
普通模式中使用y復制:

命令說明
yy復制游標所在的整行(5yy表示復制5行)
y^復制至行首,或y0。不含光標所在處字符
y$復制至行尾。含光標所在處字符
yw復制一個單詞
y2w復制兩個單詞
yG復制至文本末
y1G復制至文本開頭

普通模式下的使用p進行粘貼:

  • p(小寫)代表粘貼至光標后(下)
  • P(大寫)代表粘貼至光標前(上)

此外上文提到的dd刪除操作也是剪切,刪除后可以使用p進行粘貼的。

3.2.2、撤銷(Undo)操作

  • Vim使用u或者u{n}進行撤銷一次或者n次的操作;
  • 使用U(大寫) 撤銷當前行的所有修改;
  • 此外,Vim使用Ctrl+r進行Redo(復原)操作,進行對undo操作的插銷。

3.3.3、快速縮進與文本調整
以下是常用的縮進和文本調整方式:

命令說明
<<整行向左回退
>>整行將向右縮進(非常好用)
:set shiftwidth?命令行模式下,獲取縮進設定值
:set shiftwidth?=n命令行模式下,設定縮進值為n
:ce(center)使本行內容居中
:ri(right)使本行文本靠右
:le(left)使本行內容靠左

4、Vim的高級功能

高級功能剩下的內容有時間再更新吧。。。

5、總結

VIM 如果不是經常使用,很容易忘記它的使用技巧,需要經常復盤,久而久之也就養成了手指記憶。

為了更好的解決這個問題,讓各大開發者可以快速掌握 Vim 的常用快捷鍵,一位開發者做了一款游戲:Vim Adventures。在這個游戲中,你需要配合各種常用的 Vim 快捷鍵,來移動光標,與 NPC 進行對話,尋找線索,獲取鑰匙,打開寶箱。當你一次次通關后,便會慢慢發現自己已成功掌握大量 Vim 使用技巧。
PS:這個游戲只有前三關是免費的!!!

如果文章有表述不當的地方可以留言指正,互相學習 。

總結

以上是生活随笔為你收集整理的Vim从理解到应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。