首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$中的gvim pid!与wmctrl列表不同

$中的gvim pid!与wmctrl列表不同
EN

Stack Overflow用户
提问于 2013-05-07 16:16:49
回答 1查看 474关注 0票数 3

我有一个脚本,启动多个gvim窗口。我想以某种方式对它们进行定位。wmctrl可以做到这一点,但是因为有多个实例,窗口名称是不明确的。我想:使用pids。

代码语言:javascript
复制
gvim /tmp/xxx &

X=$!

wmctrl -lp | grep $X
echo $X
wmctrl -lp | grep GVIM
echo sleeping
sleep 3
wmctrl -lp | grep GVIM

输出为:

代码语言:javascript
复制
5211
sleeping
0x03400062  0 5218   localhost xxx (/tmp) - GVIM

gvim似乎从pid 5211开始,但为实际窗口启动了一个新进程。而且,这个过程还不存在。

如何明确地获取刚刚启动的gvim实例的wmctrl窗口句柄?或者我应该使用其他东西?

--echo-wid选项看起来不错,但我使用的是KDE。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-15 02:05:51

我刚刚遇到了同样的问题,并通过运行

代码语言:javascript
复制
gvim -f &
pid=$!

就像n.m.在上面的评论中建议。

gvim sais的manpage是:

-f前台。对于GUI版本,Vim不会从启动时所在的shell派生和分离。在Amiga上,Vim不会重新启动来打开一个新窗口。当Vim由等待编辑会话完成的程序(例如邮件)执行时,应使用此选项。在Amiga上,":sh“和":!”命令将不起作用。

这就解释了为什么它是有效的。

我不知道你是否尝试过这个,或者答案是否还重要,但我讨厌留下一个好问题没有回答:)

功劳归于n.m.。用于指出-f交换机

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16414347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档