在Vim 8中处理Bash脚本时,我经常使用以下命令在拆分终端中执行当前缓冲区
:terminal %
但是第二次运行此命令时,将打开一个新的缓冲区,而不是重用上一个缓冲区,除非我明确关闭了第一个缓冲区,否则会导致多个打开的终端。
有没有办法让Vim总是为:terminal
命令重用相同的缓冲区?我可以放入.vimrc的单线格式是首选。
答案 0 :(得分:1)
:help :terminal
说:
打开一个新的终端窗口。
并且AFAIK无法告诉:terminal
重用现有窗口。
不过,您可能可以使用:terminal
和:help term_start()
选项构建自己的term_opencmd
替代方案。
答案 1 :(得分:0)
如果您愿意进一步,可以将tmux
与send-keys
,vim
和文件路径结合使用,而不是缓冲区本身。
tmux new-session -s DEBUGSESSION
my_script.sh
的文件,该文件已经需要具有可执行标志。 vim my_script.sh
:! tmux发送键-t DEBUGSESSION“%:p Ctrl + V Ctrl + M “
是的,您可能还可以发送缓冲区而不是文件,但是如果文件很大,我不知道其性能。
是的,这将您限制为整个文件(而不是缓冲区,您可以在其中选择许多行)。
但是我仍然认为这可能有用。