问题描述
如果您在 windows 中安装了 Cygwin,并且在其中安装了 ranger,那么您可能无法通过 ranger 打开文件,因为 Cygwin 中的路径与 windows 中的路径不同。
在 Cygwin 中,路径类似于:/cygdrive/c/go/to/path
,但在 Windows 中:c:/go/to/path
,因此您无法在 Ranger 中打开文件(安装在 Cygwin 中)。
现在我们如何使用 ranger 在 windows 中正确打开我们的文件?
解决方法
这是我用来解决这个问题的一个技巧。
- 打开步枪文件
如果你不知道它在哪里,你需要通过使用这个命令运行 ranger 来创建默认的: ranger --copy-config all
它会复制默认的配置文件在你的主目录(home/.config/ranger/CONFIG_FILES)
- 编辑命令(例如:文本编辑器)
这是主要部分,找到包含此内容的行:
mime ^text,label editor = ${VISUAL:-$EDITOR} -- "$@"
"$@"
指的是选中文件的路径,但是不对,需要改成这样:
mime ^text,label editor = runemacs.exe -- `sed 's%/cygdrive/e/%e:/%g' <<< "$@"`
-
如您所见,我将
${VISUAL:-$EDITOR}
变量更改为我自己的程序 (runemacs.exe) -
`commands`
是命令替代(在 Linux 中),将为我们打印其命令的输出 -
<<<
是此处的文档(同样是 Linux 功能) -
sed
是搜索/替换命令 -
sed 's%/cygdrive/e/%e:/%g'
表示搜索[usings
command] for/cygdrive/e/
[you can change this path to your own],并替换它与e:/
以及g
表示全局搜索并替换它。
- 完成