web-dev-qa-db-ja.com

エディターの選択はレンジャーのどこにありますか?

rangerの新規インストールで、neofetch構成をrangerで開こうとし、edを選択してそれが何であるかを確認しました。私は嬉しいです Ctrl+Dedを終了するように機能しましたが、現在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

PD2:Ubuntu 18.10

PDedがOSによって選択されているように見えません

$ 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

指摘rangerトラッカーの@toonによって、EDITORが設定されていない場合、rangerはエディター選択ダイアログを提供しません。ハードコードされたvimに頼りますが、Debian/Ubuntuハッカー パッチレンジャーsensible-editorを使用します。これはupdates-alternativesに接続されていないbashスクリプトです。方法、および~/.selected_editorにエディターの選択を格納します。

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

このsensible-editor bashスクリプトはハックとして実装されたと思います。これは、update-alternativesがシステムレベルで機能し、rootを持たないユーザーがbash構成を編集してエディターを選択する必要があるためです(これはすべての人に機能するとは限りません)。 。

暗黙的にrangerにパッチを適用する代わりに、Debianの人々はユーザーレベルのセッションに明示的にEDITOR=sensible-editorを設定することができます。 「明示的は暗黙的よりも優れています」。少なくともこの方法では、ここではそれほど多くの時間を費やすことはありません。掘り下げるmansensible-editorこのポリシーページ で説明されていることがわかりました:

EDITOR変数またはPAGER変数を使用するようにプログラムを適合させることが非常に難しい場合、そのプログラムは、/ usr/bin/sensible-editorおよび/ usr/bin/sensible-pagerをエディターまたはページャープログラムとしてそれぞれ使用するように構成できます。 。

また、このテキストによると、rangerはすでに認識されており、EDITORを使用しているため、パッチを適用しないでください。


これを最後の暴言で締めくくるのは、2018年にLinuxエディターのユーザーレベルの選択肢としてedが与えられた理由です??? ..

2

OS自体が指しているエディタを確認してください。私は、レンジャーがOSの現在のデフォルトを検討していると思います。 OSの関連エディターを変更すると、レンジャーが変わると思います。

Sudo update-alternatives --config editor

必要な番号を入力してEnterキーを押します。

あなたの場合

自動モード

/bin/ed - priority -100

各選択肢には、それに関連付けられた優先順位があります。リンクグループが自動モードの場合、グループのメンバーが指す選択肢は、優先度が最も高いものになります。

優先度を10に設定します

それを変えれば、あなたは元気になるはずです。

0