2014-01-29 45 views
0

所以我們可以說我現在的宏:VIM:有一個宏跳轉到某一位置

map! \aa aabbccdd 

,我想它,以便每當命令執行時,該文本將被打印,並且光標將在一個特定的字符(比方說b的第一個出現)。我需要什麼才能讓我的宏將光標移動到b的第一次出現處,無論何時使用它?

+1

這是不是很清楚你在問什麼。如果你在前後提供了一個真實的例子,那會更好。就目前而言,您的映射會將'abbccdd'附加到緩衝區(第一個'a'算作append並將您置入插入模式)。這是你想要做的嗎? – Conner

回答

1

如果我正確理解您的問題,您希望您的宏插入aabbccdd並將光標移到第一個b。這是做這件事:

map \aa mziaabbccdd<Esc>`zfb 

當然,在找到第b是不是真的有用,並且可能無法很好的轉化爲你真正的問題。

1

A 只是對命令和輸入文本的記錄。因此,您「正常」用來定位光標的任何動作也會在其中捕獲。

因此,在您的示例中,您可以用`[跳到您輸入的文本的開始位置,然後繼續前進到並使用fb。將這兩個動作追加到宏錄製結束時,就完成了!