2014-03-01 30 views
1

我正在嘗試創建一個宏以全局使用它。我對任何文件插入該命令我的.vimrc文件如何用vim命令創建一個宏?

let @c='<esc>:r c.c' 

let @c=':r c.c' 

但在這兩種情況下,當我使用 「@c」 只打印「C> :r cc'上的文件

回答

3

嘗試在宏的末尾添加「^M」,然後「@c」應該有效。其他':@c'應該像ebenezer提到的那樣工作。您應該使用按Ctrl +V輸入插入 '^M'。

let @c=':r c.c^M' 

最好的方法是首先記錄宏,然後將其保存到.vimrc。 如果這些不起作用,您可以使用"cp檢查您的註冊c的內容,並查看是否有遺漏。

0

如果要在宏中包含特殊字符(如Escape或Enter),請使用非文字字符串(雙引號,而不是單引號)和正確的語法。見:help expr-string。您可以使用原始特殊字符,如@Amit所示,但這會使您的vimrc文件難以閱讀。

假設你開始在普通模式下,想鍵入@Ç,沒有必要用一個轉義開始。

出於測試目的,我想

:let @c = ":echo 'foo'\<CR>" 

和它的工作如預期。我甚至在我的vimrc文件中添加了這一行(不帶領導),以確保並以此方式進行測試。這應該工作:

:let @c = ":r c.c\<CR>"