2>>
您所描述的行爲是由於如何{count}
作品與線明智命令:不執行命令{count}
次,但作爲在其行動的行數認爲{count}
。
你可以在做2:
Vim中如何做它的事一瞥,這是你應該在命令行得到了什麼:
:.,.+1
做2>>
因此相當於:
:.,.+1>
「
」縮進這條線和下面的一條水平線「。
在正常模式下,只需點擊>>
即可將當前行縮進一級,然後重複,直到您處於正確的級別。
如果您想要2>
縮進兩級,您必須首先直觀地選擇該行:V2>
或v2>
。
如果要「修復」當前行的縮進以使其與周圍行的縮進(此類任務的最常見方案)匹配,請按==
。
10G
G
期望一個{count}
跳轉到相應的行。沒有{count}
它默認跳到最後一行:您可以將其視爲{lines in buffer}G
的便捷快捷方式。
所以你正在反轉一點:G
不是「跳到最後一行」,它是「跳轉到{count}
,但沒有{count}
所以我們走到最後一個」。
- startEdit中 -
讓我們反向工程G
的樂趣:
G
首先設想爲正常模式相當於:number<CR>
。
決定不使用G23
,而是使用{count}
機制,所以我們有23G
。 G
不是運營商:它不等待目標。
但是我們如何處理G
,沒有{count}
?
通常,一個緩衝區有兩個「特殊」行:第一個和最後一個。也許我們可以決定G
的默認目的地是什麼?爲什麼不?我們討厭浪費的鑰匙!
G
並不比1G
短得多,但它更短,所以這可能是一個好主意,使G
跳轉到第一行。
但是最後一行呢? 12G
確定當我們知道緩衝區中有12行,但1257行是什麼?未知的行數呢?查找數字並鍵入2431G
是否有效?不,在那個時候,我們不妨做:$<CR>
。那麼,爲什麼我們不使用G
,在這裏?它比任何其他達到最後線的方式都短得多,速度更快。
(這是純粹的猜測,當然,我不知道比爾·喬伊的初衷時,他設計G
)
- EndEdit中 -
固定的Vim
一般來說,Vim不需要是「固定的」。相反,你必須知道它是如何工作的,以及如何利用它的力量。它的大部分意義非常重大:當你「得到它」時,獎勵將是巨大的。
此外,所有內容的行爲在:help
中解釋:學習如何使用它是您認真使用Vim時必須成長的頭號技能。
如果您希望2>縮進兩次,只需按v進入可視模式,並且如果您將其設置爲使用空格,則會插入兩個製表符或空格 – csteifel