繁体   English   中英

重用Vim终端缓冲区

[英]Reuse Vim terminal buffer

在Vim 8中处理Bash脚本时,我经常在带有以下命令的拆分终端中执行当前缓冲区:

:terminal %

但是第二次运行此命令时,将打开一个新缓冲区,而不是重用前一个缓冲区,除非我明确关闭了第一个缓冲区,否则会导致多个打开的终端。

有没有办法让Vim总是为:terminal命令重用相同的缓冲区? 我可以放入.vimrc的单行代码是首选。

:help :terminal说:

打开一个新的终端窗口。

而且AFAIK没有办法告诉:terminal重用现有的窗口。

不过,您也许可以使用:help term_start()term_opencmd选项构建自己的:terminal替代方案。

如果愿意,可以将tmuxsend-keysvim和文件路径结合使用,而不是缓冲区本身。

  • 首先,您创建一个tmux会话,该会话最好在与脚本运行目录相同的目录中运行:

tmux new-session -s DEBUGSESSION

  • 然后,编辑名为my_script.sh文件,该文件已经需要具有可执行标志。

vim my_script.sh

  • 然后从vim内部,将运行文件的密钥发送到tmux会话:

:!tmux send-keys -t DEBUGSESSION“%:p Ctrl + V Ctrl + M

是的,您可能还可以发送缓冲区而不是文件,但是如果文件很大,我不了解其性能。

是的,这将您限制为整个文件(而不是缓冲区,您可以在其中选择多行)。

但是我仍然认为这可能是有用的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM