Vim
如何將命令的結果插入到vim中的文本中?
例如,
:echo strftime(%c)
將在底部顯示目前時間,但是如何將這個時間字元串插入到文本中(就在游標之後)?
您可以在正常模式或插入模式下使用表達式寄存器 ,
"=
和(p
或P
) :<C-R>
在正常模式下:(
這裡
<C-M>
表示Control
+M
,或者只需按Enter
/Return
)"=strftime('%c')<C-M>p
在插入模式下:
(
<C-M>
與上面的含義相同,<C-R>
表示Control
+R
)<C-R>=strftime('%c')<C-M>
如果你想多次插入同一個表達式的結果,那麼你可能想將它們映射到
.vimrc
:中的鍵上(這裡
<C-M>
and<C-R>
應該按字面意思輸入(五個可列印字元的序列——Vim 會在內部翻譯它們)):nmap <F2> "=strftime('%c')<C-M>p :imap <F2> <C-R>=strftime('%c')<C-M>
:r!date +\%c
看
:help :r!
請注意,這是針對外部命令(它們在您的 shell 中執行),而不是 vim 命令。