代码之家  ›  专栏  ›  技术社区  ›  Jonathan Graehl

Emacs中的路径名转换,用于从远程(ssh编译)错误文件名查找本地源文件路径

  •  2
  • Jonathan Graehl  · 技术社区  · 15 年前

    我正在运行GNU Emacs 23.1.1,并尝试了cygwin mount和w32-symlinks.el(使用 (customize-option 'w32-symlinks-handle-shortcuts)

    我正在远程编译(通过ssh),警告/错误给出了文件名,其中包含绝对路径名的前缀(例如。 /nfs/topaz )需要用不同的路径替换远程主机上的( z:/

    / 是否转到(在emacs中将选项卡扩展为) c:/cygwin ~ $HOME

    我希望的是:修复符号链接解析(完成制表符或打开windows快捷方式会得到.lnk文件,而不是它所指向的),或者能够为路径名前缀提供重写列表。连接不是一个选项,因为我想要的替换路径位于不同的驱动器上(它也是Samba挂载)。

    3 回复  |  直到 15 年前
        1
  •  1
  •   Eric Anderson    15 年前

    这在其他复杂的构建环境中也很有用:我使用OpenWRT,构建过程将源代码复制(或提取)到一个单独的构建目录中,在该目录中进行编译。因此,在emacs编译缓冲区中简单地遵循文件名会导致编辑临时副本,而不是原始副本。危险的

        2
  •  3
  •   Jonathan Graehl    15 年前

    以下是部分解决方案:

    (custom-set-variables '(compilation-search-path (quote (nil "z:/dir1" "~/dir2"))
    

        3
  •  0
  •   zdav    15 年前

    tramp emacs中的模式。我只是不认为有一种简单的方法可以将远程路径转换为本地路径。

    推荐文章