当我从 Windows 资源管理器的位置栏复制 Windows 路径时,
C:\Users\Administrator\Links
,它会自动转换为以下内容之一:
Conemu 中的 Cygwin:
/mnt/c/Users/Administrator/Links
Conemu 中的 Git bash:
/mnt/c/Users/Administrator/Links
Cygwin64 终端: (没有翻译)
C:\Users\Administrator\Links
Windows 上的 Git Bash: (没有翻译)
C:\Users\Administrator\Links
但 Cygwin 实际上想要
C:/Users/Administrator/nextcloud/diary
或者
/cygdrive/c/Users/Administrator/nextcloud/diary
Git Bash 实际上想要
/c/Users/Administrator/Links
所以每次我尝试
cd
进入该目录时,我都会得到bash: cd: /mnt/c/Users/Administrator/Links: No such file or directory
。然后我必须手动更改路径。
有没有办法改变Conemu的“翻译”规则?您在使用带有/不带有 Conemu 的 Linux 终端时遇到同样的问题吗?你是如何应对这个问题的?
编辑:
通过使用以下命令设置任务,在 Conemu 中启动
Git Bash
:
C:\Program Files\Git\git-cmd.exe --no-cd --command=usr/bin/bash.exe -l -i -new_console:t:"Git Bash"
并且 Cygwin
在 Conemu 中使用命令 D:\app\cygwin64\Cygwin.bat -new_console:t:"cygwin"
启动
我使用 Cmder(使用 Conemu)遇到了同样的问题。 在启动选项中(在 Cmder 中,位于“启动 - 任务”中),您必须选择任务(例如 bash :: bash)并添加:
-cur_console: m: ""
.
确实,根据文档:
https://conemu.github.io/en/NewConsole.html#syntax
在-cur_console的选项中,我们可以看到:
m: /mnt - 定义 Unix 路径转换的‘/mnt’前缀,m: "" - 否 前缀
基于@Dharman的回答
在“启动”>“任务”中
我为 Cygwin 添加了
-cur_console:m:"/cygdrive"
,为 Git Bash 添加了 -cur_console:m:"
。
然后我重新启动 Conemu 以使更改生效。
现在,当我将 Windows 路径粘贴到 Cygwin 选项卡中时,它会自动转换为
/cygdrive/c/path/to/file
。当我将 Windows 路径粘贴到 Git Bash 选项卡时,它会自动转换为 /c/path/to/file
。