1

以下是Windows系统剪贴板的内容

  • :function CurrentLineLength
  • : len = strlen(getline("."))
  • : 返回 len
  • :endfunction

我点击冒号然后控制 r 然后按 shift 8 粘贴系统剪贴板的内容。

我按回车键,vim 用 E488 返回:尾随字符

我在那里看到一些 ^M 字符,删除它们没有帮助。我确实知道我可以将函数粘贴到 .vim 文件中并以这种方式读取它们,因此它不会造成严重后果,但是当我通过一些 vim 脚本示例工作时,这将是很好的。

函数的输入方式是否有什么特别之处,或者是否可以从系统剪贴板中粘贴它们?

谢谢!

4

2 回答 2

3

我不确定将多行粘贴到命令模式,但是您可以通过简单地将函数放入寄存器并执行寄存器(与宏相同)来实现相同的目的。

此外,Vim 似乎不喜欢你粘贴的那个函数,我在下面做了一些更改。如果您将以下内容复制到系统剪贴板,然后@*在正常模式下按,它可以工作。

:function CurrentLineLength()
: let len = strlen(getline("."))
: return len
:endfunction
于 2009-03-23T23:00:00.883 回答
1

Vim 在命令模式下的回车应该没有任何问题(这就是 ^M 字符)。我猜您要粘贴的代码中还有其他一些字符 - 如果您从网页粘贴,这很可能是问题所在。尝试将剪贴板的内容放入文件中,看看它是否真的是您所期望的(包括所有空白字符)。

于 2009-03-23T22:36:12.737 回答