我在 .vimrc 文件中有以下配置,用于在 .c 文件和其对应的 .h 文件之间切换
function SwitchHeader()
w
if(&ft=='cpp')
e %:r.c
elseif(&ft=='c')
e%:r.h
endif
endfunction
当我进入:call SwitchHeader()
vim 命令行时,会出现一条消息Bestätigen sie die EINGABETASTE oder geben sie einen Befehl ein
,我想将其翻译为Hit the enter key or enter a command
我怎样才能避免每次调用该函数时都要按 Enter 键,当我绑定键时,我可以<cr>
在行尾插入 Enter 键,但如何在函数中做到这一点。
答案1
使用
execute ':edit ' . expand('%:r') . '.EXT'
(注意:.EXT
在每个分支中将其替换为你想要的任何内容)
答案2
对于遇到同样问题的人:我发现了这个 vim 插件http://www.vim.org/scripts/script.php?script_id=31似乎有更多选项,例如拆分窗格等。我没有尝试过,但你可以试一试。
答案3
在“快速而粗略”的脚本中,解决方案通常是将文字字符插入文件中。在这种情况下,您可以键入 control+v,然后按回车键,以插入一个看起来像的字符,^L
但您可以判断它不是插入符号,因为光标在其上移动时会作为一个字符。
以这种方式输入到文件中的字符往往无法通过复制粘贴和其他各种传输方式保存下来,但是它们能完成工作。有时甚至需要将它们包装在正常执行的调用中。例如:
execute 'normal (...commands that might generate enter prompt...)^L'
答案4
尝试:set cmdheight=2
从:help messages
To reduce the number of hit-enter prompts:
- Set 'cmdheight' to 2 or higher.