Ranger 中编辑器的选择保存在哪里?

Ranger 中编辑器的选择保存在哪里?

在全新ranger安装时,我尝试打开neofetch配置ranger并选择ed查看它是什么。我很高兴Ctrl+D努力退出ed,但现在ranger用它打开所有文件。重新启动终端不起作用。~/.config/ranger是空的:

$ ls -la .config/ranger/
total 12
drwxr-xr-x  2 techtonik techtonik 4096 ліс 24 23:32 .
drwx------ 24 techtonik techtonik 4096 ліс 24 22:19 ..
-rw-r--r--  1 techtonik techtonik   35 ліс 24 23:32 bookmarks
-rw-r--r--  1 techtonik techtonik    0 ліс 24 23:32 history
-rw-r--r--  1 techtonik techtonik    0 ліс  7 14:03 tagged

如何解决这个问题?

UPD:$EDITOR为空,rifle仍然运行ed.

$ rifle -l ~/.config/neofetch/config.conf 
0:editor::$EDITOR -- "$@"
1:pager::"$PAGER" -- "$@"
$ echo $EDITOR

$ rifle ~/.config/neofetch/config.conf 
13949

UPD2:Ubuntu 18.10

UPD3:我没有看到ed操作系统选择了它

$ update-alternatives --display editor
editor - auto mode
  link best version is /bin/nano
  link currently points to /bin/nano
  link editor is /usr/bin/editor
  slave editor.1.gz is /usr/share/man/man1/editor.1.gz
  slave editor.fr.1.gz is /usr/share/man/fr/man1/editor.1.gz
  slave editor.it.1.gz is /usr/share/man/it/man1/editor.1.gz
  slave editor.ja.1.gz is /usr/share/man/ja/man1/editor.1.gz
  slave editor.pl.1.gz is /usr/share/man/pl/man1/editor.1.gz
  slave editor.ru.1.gz is /usr/share/man/ru/man1/editor.1.gz
/bin/ed - priority -100
  slave editor.1.gz: /usr/share/man/man1/ed.1.gz
/bin/nano - priority 40
  slave editor.1.gz: /usr/share/man/man1/nano.1.gz
/usr/bin/vim.basic - priority 30
  slave editor.1.gz: /usr/share/man/man1/vim.1.gz
  slave editor.fr.1.gz: /usr/share/man/fr/man1/vim.1.gz
  slave editor.it.1.gz: /usr/share/man/it/man1/vim.1.gz
  slave editor.ja.1.gz: /usr/share/man/ja/man1/vim.1.gz
  slave editor.pl.1.gz: /usr/share/man/pl/man1/vim.1.gz
  slave editor.ru.1.gz: /usr/share/man/ru/man1/vim.1.gz
/usr/bin/vim.tiny - priority 15
  slave editor.1.gz: /usr/share/man/man1/vim.1.gz
  slave editor.fr.1.gz: /usr/share/man/fr/man1/vim.1.gz
  slave editor.it.1.gz: /usr/share/man/it/man1/vim.1.gz
  slave editor.ja.1.gz: /usr/share/man/ja/man1/vim.1.gz
  slave editor.pl.1.gz: /usr/share/man/pl/man1/vim.1.gz
  slave editor.ru.1.gz: /usr/share/man/ru/man1/vim.1.gz

答案1

作为指出by @toon in rangertracker,ranger如果未设置 EDITOR,则不提供任何编辑器选择对话框。它诉诸于硬编码vim,但 Debian/Ubuntu 黑客补丁护林员使用,这是一个不以任何方式sensible-editor连接的 bash 脚本,并将编辑器选择存储在:updates-alternatives~/.selected_editor

$ cat ~/.selected_editor 
# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/bin/ed"

我猜这个sensible-editorbash 脚本是作为 hack 实现的,因为update-alternatives在系统级别上工作,没有 root 的用户需要编辑 bash 配置来选择他们的编辑器(这并不适合所有人)。

rangerDebian 人员可以显式设置EDITOR=sensible-editor用户级会话,而不是隐式修补。 “显式优于隐式”。至少这样我们就不会在这里花太多时间了。挖掘man我发现这sensible-editor是解释的本政策页面:

如果很难调整程序以使用 EDITOR 或 PAGER 变量,则可以将该程序配置为分别使用 /usr/bin/sensible-editor 和 /usr/bin/sensible-pager 作为编辑器或分页程序。

根据本文,ranger不应修补,因为它已经意识到并使用了编辑器。


最后吐槽一下,为什么ed2018 年它被作为 Linux 编辑器的用户级选择???..

答案2

检查操作系统本身指向的编辑器。我认为,ranger 正在研究操作系统现在的默认设置。改变操作系统的首选编辑器,我认为它会改变游侠。

sudo update-alternatives --config 编辑器

输入您想要的号码,然后按 Enter 键。

在你的情况下

自动模式

/bin/ed - priority -100

每个替代方案都有一个与之相关的优先级。当链接组处于自动模式时,组成员指向的替代项将是具有最高优先级的替代项。

将优先级设置为 10

改变这一点,你应该会很好。

相关内容