我刚刚设置了逆向搜索功能,来自okular
,通过使用命令gvim --remote-silent +%l %f
作为自定义编辑器。
它似乎运行得很好,除了一个小错误,在过去的几个小时里一直困扰着我:
一旦
shift+click
在 中使用okular
,窗口中的光标gvim
确实移动到了正确的位置,但焦点窗口(或活动窗口、当前窗口或选择中的窗口)尚未移至gvim
窗口。我必须通过鼠标或键盘快捷键(例如)手动选择 vim 窗口Alt+tab
。
另一方面,令人恼火的是,如果我使用kile
编辑器来设置这个反向搜索,焦点确实会转移到kile
!
此外,使用 Vim 中的前向搜索不存在这样的问题,okular --unique ....
按照这些说明通过系统调用来调用 okular指示. 焦点确实如预期那样转移到了 okular 身上。
PS:我在Ubuntu 14.04上
答案1
我找到了解决这个问题的方法。这个想法是使用工具。 也可以看看这个问题在 askubuntu.com 上。
1. 安装 xdotool
在 Ubuntu 上,你可以这样做
sudo apt install xdotool
2.编写 bash 脚本
将以下脚本保存为 gvim-raise.sh 在你的$PATH
.
#!/bin/bash
gvim --servername GVIM --remote +$1 $2 ; xdotool search --name "/* - GVIM" windowactivate
使其可执行
chmod +x gvim-raise.sh
3.配置Okular
将此行放入 Okular 的编辑器选项中
gvim-raise.sh %l %f
那么一切都会按预期进行。