Vim

如何將命令的結果插入到vim中的文本中?

  • January 21, 2022

例如,:echo strftime(%c)將在底部顯示目前時間,但是如何將這個時間字元串插入到文本中(就在游標之後)?

您可以在正常模式或插入模式下使用表達式寄存器 ,"=pP) :<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 命令。

引用自:https://unix.stackexchange.com/questions/8101