web-dev-qa-db-ja.com

Ubuntuでデフォルトのテキストエディタを変更するにはどうすればよいですか?

Ubuntuのコンソールプログラムのデフォルトのテキストエディタを変更するにはどうすればよいですか。 muttを実行してメッセージを送信すると、現在Joeが読み込まれ、Vimを読み込むように設定します。 $ EDITORは自分だけに変更できることはわかっていますが、システム全体で変更することをお勧めします。

8
justintime

$ EDITORはシステム全体で変更できます。これを行う/etc/profile.d/に短いスクリプトをドロップするだけです。ファイルに必要なのは1行だけです。

export EDITOR=/usr/bin/myeditor

編集:

プログラムが起動するエディターを見つける方法は2つあります(少なくとも:-/)。従来のUnix/Linuxメカニズムは、$ EDITORを使用することです。それに加えて、Debian(したがってUbuntu)には、さまざまな種類のプログラム用の特別なエイリアスがあります。これらは、「代替」システム(構成可能なシンボリックリンクのシステム)によって提供されます。編集者の場合、これはエイリアスeditorおよびsensible-editorを提供します。これらは、update-alternativesを使用して更新できます。

Sudo update-alternatives --config editor

(賢明な編集者についても同じです)。これにより、エディターで使用するように求められます。

ただし、Debianプログラムでは、最初に$ EDITORを読み取ることが想定されています。

したがって、エディターまたはページャーを起動するすべてのプログラムは、EDITORまたはPAGER環境変数を使用して、ユーザーが使用するエディターまたはページャーを決定する必要があります。これらの変数が設定されていない場合は、プログラム/ usr/bin/editorおよび/ usr/bin/pagerをそれぞれ使用する必要があります。

これらの2つのファイルは、dpkgの「代替」メカニズムによって管理されます。

[...]

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

(Debianポリシーマニュアル、 http://www.debian.org/doc/debian-policy/ch-customized-programs.html#s11.4

一言で言えば:$ EDITORをグローバルに設定するだけで十分です。

12
sleske

この問題を解決するために使用されるubuntu(debian)のメカニズムは、man update-alternativesで説明されています。基本的に、正しいバイナリを指す「疑似バイナリ」(/usr/bin/editor)を提供します(「最良の」代替)

コール

% Sudo update-alternatives --config editor

現在の「デフォルト」を変更します。と

% update-alternatives --list editor
% update-alternatives --display editor

現在利用可能な代替案を見ることができます。

1
akira