我想要一個將從遊標位置替換爲給定標記的vi命令。例如開始vim搜索並將當前位置的光標替換爲指定的標記
word blah blah =(
我想,如果我將光標定位在word
後的空間能夠光標,並與比如說等號,#之間取代一切, 獲得
word#(
我確定如果我能理解this thread,我可以弄明白,但那個線程比我需要的要複雜得多。
我想要一個將從遊標位置替換爲給定標記的vi命令。例如開始vim搜索並將當前位置的光標替換爲指定的標記
word blah blah =(
我想,如果我將光標定位在word
後的空間能夠光標,並與比如說等號,#之間取代一切, 獲得
word#(
我確定如果我能理解this thread,我可以弄明白,但那個線程比我需要的要複雜得多。
除非在光標和所需的=
之間還有其他=
字符,否則可以使用cf=#<Esc>
。
cf=
從光標刪除直到第一個=
(含),並將您置於插入模式。
嘗試以下操作:
cf=#<esc>
的c
命令是「變化」來刪除文本並讓你插入模式。它需要像其他運營商一樣的動作。 f=
是一個將光標跳轉到下一個'='的動作。這可以與任何其他字符一起使用,例如,fa
將跳轉到下一個'a',fb
將跳轉到下一個'b'等。之後,您將以插入模式結束,並且可以輸入#
。然後點擊<esc>
返回正常模式。
通過使用/foo
而不是f=
,可以使用更高級的「令牌」做同樣的事情。舉例來說,如果你想改變,直到=(
代替=
下一個出現的下一個出現,你可以做
c/=(<cr>#<esc>
可能值得注意的是'F' /'F'和't'/'T'只在當前行上有效。要跨越多行執行此操作,您需要使用搜索('/')。 –