0

我很困惑如何从函数内部使用寄存器。例如,如果我想从 vim 中拉出当前单词以注册“k”,我会使用命令/击键

"kyw

但这在函数内部不起作用:"开始评论:

function MyFunction()
  "kyw
  "^^^ does not work because it is a comment...
  let @k="I can set register k directly to text..."
  " but that's not the same
  yank k "I can yank an entire line, but still not the same
endfunction

有没有办法在不更改评论选项的情况下做到这一点(这甚至可以工作吗?)谢谢;我一整天都在反对这个。

4

1 回答 1

2

使用任一

  • :normal! "kyw(反复出现的问题),
  • 或者:let @k = expand('<cword>')如果你在单词的开头。请注意,在这种情况下,最好避免将当前字的值存储在寄存器中:最好使用变量并在可能的情况下单独保留寄存器(或至少保持不变)。
于 2018-01-06T04:28:35.173 回答