2017-02-14 96 views
0

我一直在使用VIM了一會兒,它每次都讓我驚訝。在這個tutorial「建設句」一節,我看到命令cisyip的組合。我已經使用了Vim很長一段時間,並且我在正常模式下熟悉大多數命令。我也知道以有意義的方式組合這些命令以產生組合的動作。C,I和S命令組合在VIM

但是,上面示例中的示例(cisyip)完全破壞了我對正常模式下VIM命令系統的理解。 「C」代表變革,「I」表示插入和「S」代表的替代品,但聯合行動不同的是,比我期望的那樣。我也瀏覽了VIM幫助文件,但從未看過舉例說明使用情況的例子。

有人能弄清楚這是怎麼回事?

+1

從這裏開始:':h operator'。 –

回答

7

在VIM幫助其描述如下

:help c 

「刪除{運動}文本[到寄存器x]並開始插入...」

指令C 參閱 「運動」 部分的下一個部分。這些命令用於文本對象選擇。關於不同類型的文本對象選擇的解釋,請參閱:

:help text-objects 

例如,對於 是 - 「內句子」,選擇[COUNT]句子...

模擬到高於其相同的說明與業

:help y 

「猛拉{運動}文本[到寄存器x] ......「

和所選文本的部件y IP

ip - 「內段」,選擇[count]段落(見段落)...

+0

這是我正在尋找的答案,因爲它考慮到了幫助。謝謝。 – ugar

+0

我經常在我的練習中使用vip組合。你應該試試;) –

1

在這種情況下,我並不代表插入和S不是替代品。 cis =改變內部句子。

一旦你理解了基本原理,這就完全是邏輯。每個命令都像一個句子,它需要一個動詞(動作)和一個名詞(對象),還有一些修飾符。

所以第一個按鈕是你的動作C(改變)。現在下面的按鍵也不會動作,直到C動作結束(直到有一個對象提供,或無效的序列插入)。我(內部)是一個修飾符,S是對象(句子)。

我覺得這對改變單詞特別有用。如果你只在單詞上按下cw,則必須將光標放在單詞的開頭。 有了CIW你可以改變整個單詞,無論光標位置(注意:如果你有/或文字其他一些分隔符,你也許需要CIW)

+0

如果它還提到如何找到相關信息,會是一個更好的答案:幫助 – ugar

+0

@normadov我同意你的觀點,但幸運的是很多其他人都這樣做了。我認爲了解基本原則更爲重要。但它會在下次添加幫助電話。 –

1

相同的字母可以有不同的含義。例如。(/{搬到句子/段落後面,但ci(or ci{表示change in (...)/{...}

與您s情況下,s僅在正常模式下,確實delete & start insert,然而在cis, das意味着sentence

p情況:單獨在正常模式下,表示paste,但在cip, yap ...表示paragraph

:h text-objects 

將向您展示文本對象的概念。這是一個必須技能爲vim用戶。 ;-)