現在、ユーザーがお気に入りのテキストエディタを開くことができるコマンドを探しています。コマンドを使用してブログにいくつかの手順を書いているからです。私はこのようなコマンドを期待していましたが、edit
それを見つけましたeditor
。私にとっては、vim-gtkを使っている端末でvimを実行します。私は編集者がvim-gtkを使うようにする方法を見つけ始めました、これ環境変数の問題について説明していますが、$EDITOR
これがコマンドに関連しているかどうかはわかりませんeditor
。私はそれを試しましたが、man editor
vimのマニュアルページが表示されました。
editor
選択したテキストエディタをどのように使用しますか、それとも別のコマンドを使用する必要がありますか?
答え1
これはDebian主義です(したがって、Ubuntu、ミントなどに存在します)。彼らはというリンクを設定しましたeditor
。次のように逆追跡できます。
$ which editor
/usr/bin/editor
$ ls -l /usr/bin/editor
lrwxrwxrwx 1 root root 24 Nov 24 19:10 /usr/bin/editor -> /etc/alternatives/editor
$ ls -l /etc/alternatives/editor
lrwxrwxrwx 1 root root 18 Nov 24 19:46 /etc/alternatives/editor -> /usr/bin/vim.gnome
$ ls -l /usr/bin/vim.gnome
-rwxr-xr-x 1 root root 2403392 Oct 26 2012 /usr/bin/vim.gnome
editor
したがって、これは実行可能ファイルへのUnixリンクにすぎないことがわかりますvim.gnome
。
使用editor
?
editor
私はこれを標準と見なすものではないので、ユーザーにこれを設定する意味のある方法を提供する方向に行くとは思いません。
また、$EDITOR
必要なものを指すように環境変数を設定vim
できますgedit
。ただし、この変数は、他のツール、およびこの変数を使用するように特別に設計されたツールemacs
でのみ使用できます。sudo
git
subversion
$EDITOR
実装のアイデア
私はあなたが選択したエイリアスを設定し、ユーザーにファイルを介して$HOME/.bashrc
エイリアスXとして使用するか、ファイルのシステム構成/etc/profile.d/our_aliases.sh
(エイリアスX)に設定するように指示します。
あるいは、システムがgedit
、、、、などを提供するとユーザーに話し、砂糖コーティングを取り除き、gvim
これらのことをすぐに教えることもできます。vim
emacs
あるいは、基本的なコマンドとさまざまなタスクの実行方法を提供する/etc/help.txt
シェルのコマンドhelp
()を介して実行できるテキストファイルを提供できます。このアプローチを使用すると、時間の経過とともに新しい機能やプロンプトでヘルプをカスタマイズでき、簡単な便利なコマンドalias help="less /etc/help.txt"
以上の機能を提供できます。editor
答え2
一部のプログラムにファイルの編集を指示すると、編集プログラムが呼び出されます。環境変数は直接設定する必要があります。
csh または tcsh を使用している場合は、シェルプロンプトで次の操作を行います。
setenv EDITOR vim
bash または ksh を使用している場合は、次のように入力します。
EDITOR=vim; export EDITOR
(「vim」を使用したいエディタに置き換えます。)
EDITOR
この変数は、一部のアプリケーションでエディタを呼び出すためにデフォルトで必要です。VISUAL
画面指向エディタを指定する別の変数があります。通常、EDITOR
変数と同じ値に設定しようとします。最初はEDITOR
ed(ラインベースのエディタ)に設定され、VISUAL
vi(画面ベースのエディタ)に設定されます。
VISUAL="vim"; export VISUAL
VISUAL="$EDITOR"; export VISUAL #even better
これにより、テキストエディタを使用するほとんどのUnixプログラムは、ユーザーが設定したエディタを使用します。上記のコマンドを実行すると、現在のコンピューティングセッションに対してのみデフォルトエディタが設定されます。これらの変更を永久に適用するには、上記の適切なコマンドをファイル(cshまたはtcshユーザーの場合)またはファイル(bashまたはkshを使用している場合)に入れる必要があります.login
。.cshrc
.profile
Emacsを使用するふりをしている場合は、別の環境変数があります。これはALTERNATE_EDITOR
同じ効果を持ちますが、オプションを使用してEmacsを呼び出すときに使用されます--alternate-editor
。
~からGNU Emacs マニュアル:
このオプションはスクリプト内で実行するときに
--alternate-editor=command
便利です。emacsclient
Emacsに接続できないときに実行するコマンドを指定します。emacsclient
たとえば、次の環境変数設定は、EDITOR
Emacsが実行されていなくても常にエディタを提供します。EDITOR="emacsclient --alternate-editor vi +%d %s"
答え3
editor
環境変数にこれを指定する必要がありますEDITOR
。次のコマンドを次のコマンドに追加します.profile
。
export EDITOR=editor
vim
デフォルトエディタとして必要に応じて追加できます。
export EDITOR=vim
個人的な好み:環境変数でエディタの絶対パス名を使用します。例えば、
export EDITOR=/usr/bin/vim
答え4
これが私がスクリプトで使用するものです:
# Find a suitable text editor
editor="$VISUAL"
[ -z "$editor" ] && editor="$EDITOR"
[ -z "$editor" ] && which editor >/dev/null && editor=editor
[ -z "$editor" ] && which nano >/dev/null && editor=nano
[ -z "$editor" ] && which vi >/dev/null && editor=vi
[ -z "$editor" ] && editor=no_editor_found
# Use the editor we found
$editor "$filename"
$editor
上記のemacsclientの例が機能していることを確認するために、最後の呼び出しに引用符を付けませんでした。
editor
したがって、常に最後の行にどの値を設定することが重要だと思います。意図せずに実行される可能性があります $ファイル名。私の場合はを選択しましたが、orそこもno_editor_found
同じようにお使いいただけます。pico
ed