vim
またはnano
を含む指示がよく見られます。これは、選択したテキストエディターでそのステップでファイルを開くことを意味します。 vim
、nano
など、ユーザーのデフォルトのターミナル内テキストエディターで入力を開く特定のプログラムの代わりに使用できる不可知論的なコマンドはありますか?
同様の質問のサイドバーにeditor
と記載されていますが、これはまだDebianベースのディストリビューションに限定されていますか?そして、代替手段はありますか?
定義されていれば、$EDITOR
を使用できます。
$EDITOR filename.txt
しかし、ほとんどのドキュメントはnano
を使用していると思います。誰かが盲目的にフォローしている場合は、安全に使用できるからです。ユーザーが1つのエディターを別のエディターよりも実際に好むと判断した場合、ユーザーはそれをvim
、emacs
などに置き換えるだけで十分です。
edit
はDebianベースのシステムではうまく機能するかもしれませんが、他のシステムではex
を呼び出すため、これはお勧めできません。
環境変数VISUAL
が設定されている場合は、それを使用します。
それ以外の場合、環境変数EDITOR
が設定されていれば、それを使用します。
それ以外の場合、Unixの伝統はデフォルトでvi
です。これはまったくユーザーフレンドリーではありません。viを使用するユーザーは、システムを起動するように設定する方法を知っているため、アプリケーションは、ユーザーフレンドリーではないはずです。残念ながら、まともな編集者を見つけるための優れたポータブルな方法はありません。 xdg-mime query default
を試すこともできますが、ユーティリティが利用できる場合でも、常に機能するとは限りません。 DebianおよびDebianライクなシステムで、 sensible-editor
を呼び出します。これにより、すべての処理が実行されます—しかし、他のUnixバリアントでは、そのようなことは知りません。
これは次のようなコードを生成します
#!/bin/sh
if [ -n "$VISUAL" ]; then
exec $VISUAL "$@"
Elif [ -n "$EDITOR" ]; then
exec $EDITOR "$@"
Elif type sensible-editor >/dev/null 2>/dev/null; then
exec sensible-editor "$@"
Elif cmd=$(xdg-mime query default ) 2>/dev/null; [ -n "$cmd" ]; then
exec "$cmd" "$@"
else
editors='nano joe vi'
if [ -n "$DISPLAY" ]; then
editors="gedit kate $editors"
fi
for x in $editors; do
if type "$x" >/dev/null 2>/dev/null; then
exec "$x" "$@"
fi
done
fi
ほとんどのプログラムは、$VISUAL
および$EDITOR
で空白分割を行いますが、すべてではありません。
すべてのLinuxディストリビューションのデフォルトのターミナル言語であるBashを使用している場合(私の知る限り)、環境変数と呼ばれるものがあります。これらの変数の多くはディストリビューションによってセットアップされ、一部は手動で設定または「エクスポート」する必要があります。 $ EDITORは特に1つです(大文字とドル記号が必要です)。ドル記号は呼び出される変数を示し、キャップはその環境変数を示します。 $ HOMEは一般的な環境です。 〜で省略された変数。
したがって、質問に簡潔に答えるために、ユーザーのデフォルトエディター編集file.txtを使用するために実行するコマンド
$EDITOR file.txt
デフォルトのエディターをvimに設定またはエクスポートするには、これをユーザーの$ HOME/.bashrcファイルに配置します。
export EDITOR=/bin/vim
次に実行します:
source $HOME/.bashrc
$ EDITOR変数が設定されていない場合、実際にはデフォルトのエディターはありません。
代替案に関する限り、エイリアスによる無限の数があります。
Alias E="$EDITOR"
.bashrcファイルを取得した後、これにより、上記の最初のコマンドを次のように実行できます。
E text.vim
ただし、より高度なbashの使用を妨げる可能性があるため、エイリアスに夢中にならないでください。
もう1つの便利で類似した環境変数は$ PAGERです。これは、ドキュメントを表示するための既定のプログラムを開くために使用できます。
$PAGER file.txt
この環境変数の通常のデフォルトは「少ない」です。