使用 Skim.app 进行反向搜索时,如果 .tex 文件已经在 macvim 选项卡中打开,有什么方法可以让该文件出现在最前面吗?如果有多个 vim视窗打开(不只是标签)?
如果您在活动选项卡中打开文件,则“标准”脚本(http://sourceforge.net/apps/mediawiki/skim-app/index.php?title=TeX_and_PDF_Synchronization#Editor_Script_for_VIM)可以工作,但如果您在非活动选项卡中打开文件,则该脚本无效(vim 命令bufexists
不适用于其他选项卡)。
对我来说, Skim.app 标准mvim --remote-silent +":%line" "%file"
完全没用——它会在第一个打开的 MacVim 窗口上覆盖当前打开的缓冲区。有没有办法改变这种行为来找到当前打开文件的副本?
编辑:我希望对其他人有帮助的注释 - 在我添加以下行之前,我无法让 applescript 工作
-e "delay 0.2" \
到脚本的开头,并将 ESC 键传递更改为
-e " key code 53 "\
答案1
我的答案是这个插件/脚本对:
简短摘要:WhichTab.vim 在 macvim 会话中的所有选项卡中搜索您的文件名(希望您没有打开太多名为 ms.tex 的文件......)。
macvim-load-line 在每个打开的 VIM GUI 窗口上运行 WhichTab,然后如果它找到该文件的打开副本,它会激活该 GUI 窗口,切换到该选项卡,并转到该行。
目前它唯一不能做的就是如果 .tex 文件尚未打开则打开它...对我来说,如果我正在编辑,这种情况很少/从不发生。但这应该很容易添加。