由于|用于分隔命令,我想我可以这样做:
:function! SomeFunc() | return 0 | endfunction
Run Code Online (Sandbox Code Playgroud)
当我在单独的行上输入它时它工作正常(输入第一行会导致它提示输入剩余的行):
:function! SomeFunc()
return 0
endfunction
Run Code Online (Sandbox Code Playgroud)
我现在看到这个警告:help :bar:
这些命令看到“|” 作为它们的参数,因此不能跟另一个 Vim 命令:
…
:功能
有什么办法吗?
我看到哪里说了...
您还可以使用与“|”相同的方式来分隔命令。要插入一个使用 CTRL-V CTRL-J。将显示“^@”。
但这也不起作用:
:function! SomeFunc() <NL> return 0 <NL> endfunction
Run Code Online (Sandbox Code Playgroud)
它给出了这个错误:
E488: Trailing characters
Run Code Online (Sandbox Code Playgroud)
如果我手动输入 CTRL-V CTRL-J 序列,这会起作用:
:function! SomeFunc() ^@ return 0 ^@ endfunction
Run Code Online (Sandbox Code Playgroud)
但这仍然不是一个可接受的解决方案,因为我希望能够简单地复制并粘贴function!命令并按 Enter ...
小智 5
一种选择是使用exe:
exe ":function! SomeFunc() \n return 0 \n endfunction"
Run Code Online (Sandbox Code Playgroud)
这些\n字符被双引号字符串解释为换行符。这确实意味着您应该小心转义任何特殊序列。
那说,
我希望能够简单地复制和粘贴功能!命令并按 Enter...
正如 romainl 所说,您的最终目标尚不清楚。如果您出于某种原因经常这样做,也许有更好的方法来获得您想要的东西。最好根据您需要此功能的原因来描述您的问题。
| 归档时间: |
|
| 查看次数: |
1695 次 |
| 最近记录: |