1
我在Vim中運行了一些代碼,並且遇到了問題(我認爲)未處於正確模式。我試圖將'<>'或'[]'之間的文本存入寄存器。在點代碼開始後面我知道光標是一對支架之間,但我不知道括號內是什麼樣的:我該如何在vim中以編程方式取消視覺模式
" put text in x reg if I'm in <> brackets
normal! vi<"xy
" put in x reg if I'm in [] brackets
if len(@x) < 7
normal! vi["xy
endif
[. .. . more code follows making use of
value in x register]
如果我<之間點擊>括號中的代碼作品的其餘部分好吧,雖然我可能不在正常模式。如果我在[]括號之間點擊,那麼它根本不起作用,並且文字[「xy在光標位置處插入。」
我試過了幾個不同的解決方法,例如試圖把(或單獨的常規命令)或使用'可視化'命令後,每個視覺部分,不能得到的事情和Visual的命令避免插入字符的第二部分,但似乎也搞砸了視覺匹配到x寄存器。
我有點困惑和不知道什麼模式,我完全在腳本的所有部分:正常,視覺,或插入。我手動運行的東西,它似乎工作正常,但如果我這樣做它以編程方式,它的行爲意想不到。有一些簡單的東西我錯過了嗎?我可以做我想要的另一種方式,但是這種方法(初看起來)似乎是最簡單和最直接的。是嗎?
感謝您的幫助
不是一個好方法。改用轉義字符。在插入模式下按CTRL-V然後按ESC進入。 – Benoit 2010-10-13 06:18:07
Benoit - 謝謝。這裏使用'逃生'的優勢究竟是什麼? – 2010-10-13 17:45:13