我想添加一个映射,它将在新窗口中显示shell命令的输出。 问题是将光标移动到文件顶部时命令被中断。
:execute ":new \| set nonu \| 0r ! ls \| normal! gg"
我发现问题出在execute命令中,该命令将符号!
中的部分视为 shell命令(ls | normal! gg
)的其余部分这就是它在执行时显示错误的原因。
如何预防?
答案 0 :(得分:2)
当命令不接受<bar>
分隔命令时。修复此问题的常规方法是将命令包装在执行中,该执行除了条
:execute ":new \| set nonu \| execute '0r ! ls' \| normal! gg"
答案 1 :(得分:0)
我不确定你是否可以通过:execute
取消它。但您可以使用Clam(例如:Clam ls
)作为基础并编辑plugin/clam.vim
,以便在执行shell命令后触发gg
。