gpt4 book ai didi

c++ - 有没有办法让vim在另一个终端窗口中运行 “make”命令?

转载 作者:行者123 更新时间:2023-12-02 10:30:20 26 4
gpt4 key购买 nike

我主要使用vim作为C / C++编程的编辑器。不幸的是,我对构建过程的工作方式并不满意。我知道可以输入(或映射到键):make来运行生成过程。我不喜欢该命令的工作方式,因为它在同一终端窗口中运行构建过程而没有正确突出显示。因此,我通常在第二个监视器的另一个窗口中运行make命令,以便同时突出显示并可以查看编译器在一个窗口中显示的构建错误,同时在我的vim主窗口中滚动源代码。这也很繁琐,因为它要求我将焦点更改到另一个窗口,然后键入make命令。
现在,我的问题如下:是否可以使vim在另一个窗口中运行make命令而不必更改焦点?这样,我可以将“在其他窗口中构建”命令映射到vim中的某个键,并且只需按一次键就可以实现所有这些功能。
我的系统是Manjaro Linux,i3作为DWM。
(我不确定是否将其发布到unix论坛或此处,如果这是错误的论坛,请原谅我。)

最佳答案

您可以通过使用xdotool和i3配置文件映射来实现。这些映射要求在窗口的终端中向右执行的最后一个命令是make

set $prevR    xdotool key --clearmodifiers --delay 2 super+l ctrl+p Return super+h
set $prevRclr xdotool key --clearmodifiers --delay 2 super+l ctrl+l ctrl+p Return super+h
然后将这些命令映射到您的首选键,例如:
bindsym --release Mod4+Shift+e exec --no-startup-id $prevR 
bindsym --release Mod4+e exec --no-startup-id $prevRclr

第一个映射在窗口上的当前命令之前运行该命令。
第二个在第一次清除终端时执行相同的操作。您需要用自己的映射替换 super+[lh],以将焦点更改到备用监视器。
您可能还需要增加 --delay以适应更改窗口的滞后时间。
如果您还想填充快速修复列表,则必须在vim中单独运行 :make。这样,您既可以在备用监视器上看到正确着色和设置格式的错误,又可以使用 :cnext:cprevious跳转到vim中的下一个错误(有关更多信息,请参见 :help quickfix.txt)。
如果要将make命令应用于任意窗口,请查看
手册页 xdotool(1)的“WINDOW_STACK”部分。

关于c++ - 有没有办法让vim在另一个终端窗口中运行 “make”命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62485486/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com