高效率編輯器 VIM 操作篇

2021-07-07 08:36:19 字數 2405 閱讀 5874

插入操作

「i」 — 從游標所在位置前開始

「i」 –游標移到當前行的行首,然後在其前插入文字

「a」– 游標當前所在位置之後追加新文字

「a」 –命令將把游標挪到所在行的行尾

「o」 — 在當前行的下面插入新行

「o」 — 在當前行的上面插入新行

移動操作

按字移動游標

在vim中,」字」有兩種含義:

a. 廣義的字,它可以是兩個空格之間的任何內容。如:、[、]、~、|、\、<、>、/等)均被當成是乙個字。上面那一行中就包括{、int、k、;這4個字。

vim中使用大寫命令一般就是指將字作為廣義來對待,使用小寫命令就是作為狹義對待。

1. w和w命令:將游標右移至下乙個字的字首,它們的區別是:w命令,把游標移到下乙個字(狹義)的字首,w命令,將把游標移到下乙個字(廣義)的字首。

2. e和e命令(end of word):如果游標起始位置處於字內(即非字尾處),則該命令將把游標移到本字字尾;如果游標起始位置處於字尾,則該命令將把游標移動到下乙個字的字尾。

3. b和b命令(backward):如果游標處於所在字內(即非字首),則該命令將把游標移至本字字首;如果游標處於所在字字首,則該命令將把游標移到上乙個字的字首.

在當前行裡面有效的移動游標

很多編輯器只提供了簡單的命令來控制游標的移動(比如左、上、右、下、到行首/尾等)。vim 則提供了很多強大的命令來滿足你控制游標的慾望。當游標從一點移動到另外一點,在這兩點之間的文字(包括這兩個點)稱作被「跨過」,這裡的命令也被稱作是 motion。(簡單說明一下,後面會用到這個重要的概念)

這裡是常用到的一些命令(motion):

fx:移動游標到當前行的下乙個 x 處。很明顯,x 可以是任意乙個字母,而且你可以使用 ; 來重複你的上乙個 f 命令。

tx:和上面的命令類似,但是是移動到 x 的左邊乙個位置。(這真的很有用)

fx:和 fx 類似,不過是往回找。

w:游標往後移動乙個詞。

b:游標往前移動乙個詞。

^:移動游標到當前行的第乙個字母位置。

$:移動游標到行尾。

):移動游標到下乙個句子。

( :移動游標到上乙個句子。

在整個檔案裡面有效移動游標

*:讀取游標處的字串,並且移動游標到它再次出現的地方。

#:和上面的類似,但是是往反方向尋找。

高效的輸入

使用多重剪貼簿

很多編輯器都只提供了乙個剪貼簿。vim 有很多。剪貼簿在 vim 裡面被稱為暫存器(registers)。你可以列出當前定義的所有暫存器名和它們的內容,命令為「:reg」。最好使用小寫字母來作為暫存器的名稱,因為大寫的有些被 vim 占用了。

使用暫存器的命令為雙引號 「。

比如:我們要拷貝當前行到暫存器 k。你應該按 「kyy。(你也可以使用 v」ky。為什麼這樣也可以呢?)現在當前行應該已經存在了暫存器 k 裡面直到你又拷貝了一些東西進入暫存器 k。現在你可以使用命令 「kp 來貼上暫存器 k 裡面的內容到你想要的位置。

避免重複

令人驚奇的 . 命令

在 vi 裡面,輸入 . (小數點符號),將會重複你輸入的上乙個命令。比如,你上個命令為「dw」(刪除乙個詞),vi 將會接著再刪除乙個詞。

使用數字

y3″ 將會拷貝從當前游標到第三個出現的引號之間的內容到剪貼簿。

數字是擴充套件 motion 命令作用域非常有效的方法。

記錄巨集

有時候,你會發現你自己在文章的每段或者每行都重複相同的一系列動作。vim 允許你記錄乙個巨集來完成你的特殊需要。

qregister:記錄巨集到暫存器 register,這裡 register 是任意的你的暫存器的名字。比如 qa,將會記錄並且把巨集存在暫存器 a 裡面。

q:結束巨集的記錄。

@register:使用存在暫存器 register 的巨集。比如 @a,將會使用存在暫存器 a 裡面的巨集。

必須要記住的是,巨集只記錄了你的系列按鍵並且重複執行它們。它們不是魔法。因為在 vim 裡面完成目的的方法有很多,所以有時候你要小心選擇命令來記錄你的巨集。因為它們會在所有你要執行它的地方執行。

用 vim 寫**

vim 是乙個用來寫**的絕好編輯器,因為它有一些特性是專門為程式設計師而設計的。這裡是一些常用的:

]p:和 p 的功能差不多,但是它會自動調整被貼上的文字的縮進去適應當前**的位置。試一下!

%:匹配花括號、方括號、括號等。在乙個括號的上面,然後按 %,滑鼠就會出現在匹配的另外一半括號處。

k:在 man 裡面查詢游標當前所在處的詞。

[+ctrl+d:  跳轉到#define處

高效率編輯器 VIM 操作篇

雖然從很久前就開始用 vim 了,但一直都是半調吊子,翻來覆去只用自己會的命令。最近為了提高書寫 的效率,還有 coding 時候的樂趣,又重新鑽研了一下 vim,發現了一篇很好的 vim 入門的文章,原文是英文版的,我覺得非常適合 vim 使用入門,所以翻譯了過來。這裡是簡單的介紹了 vim 的操...

高效率編輯器VIM 操作篇

雖然從很久前就開始用 vim 了,但一直都是半調吊 子,翻來覆去只用自己會的命令。最近為了提高書寫 的效率,還有 coding 時候的樂趣,又重新鑽研了一下 vim,發現了一篇很好的 vim 入門的文章,原文是英文版的,我覺得非常適合 vim 使用入門,所以翻譯了過來。這裡是簡單的介紹了 vim 的...

高效率編輯器 VIM,非常適合 VIM 新手

雖然從很久前就開始用 vim 了,但一直都是半 調 吊子,翻來覆去只用自己會的命令。最近為了提高書寫 的效率,還有 coding 時候的樂趣,又重新鑽研了一下 vim,發現了一篇很好的 vim 入門的文章,原文是英文版的,我覺得非常適合 vim 使用入門,所以翻譯了過來。這裡是簡單的介紹了 vim ...