2016-10-28 44 views
2

我想要一個將從遊標位置替換爲給定標記的vi命令。例如開始vim搜索並將當前位置的光標替換爲指定的標記

word blah blah  =(

我想,如果我將光標定位在word後的空間能夠光標,並與比如說等號,#之間取代一切, 獲得

word#(

我確定如果我能理解this thread,我可以弄明白,但那個線程比我需要的要複雜得多。

回答

3

除非在光標和所需的=之間還有其他=字符,否則可以使用cf=#<Esc>

cf=從光標刪除直到第一個=(含),並將您置於插入模式。

4

嘗試以下操作:

cf=#<esc> 

c命令是「變化」來刪除文本並讓你插入模式。它需要像其他運營商一樣的動作。 f=是一個將光標跳轉到下一個'='的動作。這可以與任何其他字符一起使用,例如,fa將跳轉到下一個'a',fb將跳轉到下一個'b'等。之後,您將以插入模式結束,並且可以輸入#。然後點擊<esc>返回正常模式。

通過使用/foo而不是f=,可以使用更高級的「令牌」做同樣的事情。舉例來說,如果你想改變,直到=(代替=下一個出現的下一個出現,你可以做

c/=(<cr>#<esc> 
+0

可能值得注意的是'F' /'F'和't'/'T'只在當前行上有效。要跨越多行執行此操作,您需要使用搜索('/')。 –