为什么`let`修改它赋值的值?

时间:2014-11-12 20:56:24

标签: vim

我在命令模式下运行:

let @a="^M"
reg a

我将此视为输出:

--- Registers ---
"a   ^M^J

为什么还有额外的^J?有没有办法抑制这种行为?

2 个答案:

答案 0 :(得分:3)

使用vV<c-v>视觉模式将一些文本复制到寄存器中,以查看Vim如何处理每种情况。

要强制使用v特定模式(我将假设为setreg())。

:call setreg('a', '^M', 'v')

如需更多帮助,请参阅

:h setreg(

答案 1 :(得分:0)

^M是回车符。 ^J是换行符。 Windows使用回车符后跟换行符(^M^J)来表示换行符。所以我认为这是它的来源。不确定为什么?爱好。