如何使用vim?

初介紹

vim是一個全屏 文字編輯器,是vi編輯器的增強版,vi又叫Visual Interface,即可視化接口。是類unix系統(tǒng)上一款非常強大和流行的文字編輯器。想在windows上使用,請安裝git,在其自帶的gitbash里使用即可。
什么是全屏編輯器?
什么是文字編輯器?

另外

vim還是一個模式編輯器,啥是模式編輯器呢?就是在不同的模式下,敲擊鍵盤在vim中的效果是不一樣的,不像txt等,敲擊鍵盤就是輸入。
它主要有下面三個模式:

  1. 編輯模式(命令模式)
  2. 輸入模式
  3. 尾行模式
    默認模式是編輯模式,敲擊鍵盤會被理解為命令,或刪除或復(fù)制,或移動光標(biāo)等等
    輸入模式下敲擊鍵盤會將相應(yīng)字符輸入到文件中
    尾行模式下執(zhí)行一些特殊的命令,如保存了,退出了等等。

模式間轉(zhuǎn)換

  • 編輯模式--->輸入模式
    敲擊鍵盤上的i鍵即可轉(zhuǎn)為輸入模式。具體如下:
    在編輯模式下敲擊 i 鍵:會在當(dāng)前光標(biāo)所在字符的 面轉(zhuǎn)入輸如模式
  • 輸入模式--->編輯模式
    ESC 鍵即可從輸入模式退出,轉(zhuǎn)換為編輯模式
  • 編輯模式--->末行模式
    在編輯模式下輸入 :即可轉(zhuǎn)換為末行模式
    需要注意的是,末行模式必須從編輯模式進入,所以如果在輸入模式下請先轉(zhuǎn)換為編輯模式才可以進入末行模式
  • 末行模式--->編輯模式 按 ESC鍵即返回編輯模式,如一次不能返回就再按一次回車。
    詳細的模式轉(zhuǎn)換方法

vim用法

1如何使用vim打開文件

vim 路徑/文件名即可打開一個文件,
vim 路徑/文件名 路徑/文件名空格隔開多個文件即可打開多個文件,因為vim是全屏編輯器,打開多個文件的話默認只會顯示一個,在這里不多說,有興趣的查看后面鏈接如何使用vim打開多個文件?
vim打開文件時光標(biāo)默認在文件開頭。如果想打開文件光標(biāo)在指定位置,請參考如何控制vim打開文件時光標(biāo)默認位置?

2關(guān)閉文件

  1. 末行模式下關(guān)閉文件
    在末行模式的輸入框中輸入:
    q 不保存退出(如果你已編輯了內(nèi)容則無法不保存退出)
    wq 保存并退出(等價于x)
    q! 不保存并強行退出
    w 將當(dāng)前文件內(nèi)容重新寫入文件(即保存)
    w! 管理員權(quán)限對只讀文件進行寫入保存
  2. 編輯模式下關(guān)閉文件退出vim
    ZZ大寫的Z鍵連敲兩下 相當(dāng)于保存并退出

3移動光標(biāo)

  1. 逐字符移動光標(biāo)
    h:向上移動光標(biāo)
    l:向右移動光標(biāo)
    j:向下切換光標(biāo)
    k:向上切換光標(biāo)
    這四個字母前面可以加數(shù)字,如5h就是向左移動5個字符。
  2. 按單詞移動光標(biāo)
    w:將光標(biāo)移動至下一個單詞的詞首
    e:跳至當(dāng)前或下一個單詞的詞尾
    b:跳至當(dāng)前或前一個單詞的詞首
    這三個字母也支持前加數(shù)字 如5w表示將光標(biāo)移動至第5個單詞的詞首
  3. 行首行尾跳轉(zhuǎn)
    0 表示跳到絕對行首
    ^ 表示跳到行首(第一個非空白字符處)
    $ 跳至絕對行尾
  4. 行間跳轉(zhuǎn)
    G跳至最后一行
    nG 跳轉(zhuǎn)至第n行
  5. 末行模式下輸入數(shù)字n再按enter鍵即可跳轉(zhuǎn)至第n行

4翻屏操作

在編輯模式下:
ctrl+f:向下翻一屏
ctrl+b:向上翻一屏
ctrl+d:向下翻半屏
ctrl+u:向上翻半屏

5 刪除單個字符

在編輯模式下:
x:刪除光標(biāo)所在處的單個字符,支持前加數(shù)字,如5x表示刪除從光標(biāo)所在處開始向后共5個字符

6刪除命令:d

在編輯模式下輸入:

  1. d命令和光標(biāo)跳轉(zhuǎn)命令組合使用表示刪除從光標(biāo)所在位置到跳轉(zhuǎn)位置之間的所有字符
    如w表示將光標(biāo)跳轉(zhuǎn)至下一個單詞的詞首
    那么dw表示將光標(biāo)所在位置到下一個單詞詞首所在位置中間的字符全部刪除
    也支持前加數(shù)字
    3dw表示將光標(biāo)所在位置到下3個單詞詞首中間的字符全部刪除
  2. dd刪除當(dāng)前光標(biāo)所在行
    支持前加數(shù)字
    ndd表示刪除從光標(biāo)所在位置開始共n行
    如想刪除指定范圍內(nèi)的行,如第5行開始到第10行,那得在末行模式下輸入:
    5,10d才行
    其他輸入形式如下
    .,+nd表示刪除從當(dāng)前行開始到第n行的指定行。(注意.表示當(dāng)前行)
    表示最后一行 n表示向下的第n行-n表示倒數(shù)第n行

    刪除的內(nèi)容會被保存到緩沖區(qū)當(dāng)中,不會立即清除,可以撤回,最后一次刪除的內(nèi)容還可用來粘貼

7粘貼

在編輯模式下,輸入:
p:如果刪除或復(fù)制的為整行內(nèi)容,則粘貼至光標(biāo)所在行的下方,如不是整行在粘貼至光標(biāo)所在位置的后方
P:如果刪除或復(fù)制的為整行內(nèi)容,則粘貼至光標(biāo)所在行的上方,如不是整行在粘貼至光標(biāo)所在位置的前方

8復(fù)制命令y

在編輯模式下輸入
和d命令用法一致,作用不是刪除,是復(fù)制而已

9刪除并轉(zhuǎn)換為輸入模式

c命令用法同d命令
如:cc刪除當(dāng)前行并轉(zhuǎn)入輸入模式

10替換 r

在編輯模式下輸入
r 輸入r再輸入其他單個字符,會將光標(biāo)所在的字符替換為輸入字符
R 轉(zhuǎn)為輸入模式,輸入字符替換光標(biāo)所在位置字符,并隨著不斷輸入而不斷替換

11撤銷編輯模式下的操作

u:撤銷上一次編輯模式下的操作(一般最多50次)
支持數(shù)字加的形式如
3u表示撤銷上三次編輯模式下的操作
撤銷最近一次的撤銷操作:ctrl+r

12重復(fù)前一次的編輯模式 下的操作

.命令

13可視化模式

v 按字符選取,按下v鍵后,滑動光標(biāo),則光標(biāo)所滑過的字符都會被選中
V 按行操作,按下V鍵后,滑動光標(biāo),則光標(biāo)所滑過的行都會被選中

14查找

/PATTERN 從光標(biāo)所在位置開始向后匹配
?PATTERN 從光標(biāo)所在位置向前查找
有多個匹配結(jié)果時,按n切換至下一個匹配結(jié)果,按N切換至上一個匹配結(jié)果

15查找并替換

在末行模式下使用s命令
start,ends@PATTERN@string@gi
意思是將從start開始至end結(jié)束的所有被PARTTER匹配到的字符串替換為string
其中@是命令分隔符,可以是/ gi為修飾符表示全局和不區(qū)分大小寫的意思。
歡迎您了解貝程教育

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容