ブログでコマンドを使用していくつかの手順を書いているので、現在のユーザーのお気に入りのテキストエディターを開くことができるコマンドを探していました。 edit
のようなコマンドを期待していたのですが、editor
が見つかりました。私にとっては、ターミナルでvimが起動しました。欲しかったのですが、vim-gtkを使用しています。エディターでvim-gtkを使用する方法を探し始め、このの質問で環境変数ですが、それがeditor
コマンドに関連しているかどうかもわかりません。man editor
を試しました、しかしそれはvimのマンページを引き上げただけです。
editor
に選択したテキストエディタを使用させるにはどうすればよいですか、それとも別のコマンドを使用する必要がありますか?
回答
これはDebian-ismです(したがって、Ubuntu、Mintなどに表示されます)。リンクコールed 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
を使用しますか?
「私は思いません」 d editor
をユーザーにとって意味のある方法で設定するという方向に進みます。これは、私が標準と考えるものではないためです。
さらに、 $EDITOR
必要なものを指す環境変数、vim
、gedit
、emacs
など。ただし、この変数は、sudo
、git
、およびsubversion
は、変数$EDITOR
を使用するように特別に設計されています。
実装のアイデア
自分で選択したエイリアスを設定し、それが利用可能であることをユーザーに指示するだけです。 $HOME/.bashrc
ファイルをエイリアスXとして使用するか、ファイル/etc/profile.d/our_aliases.sh
のシステム構成としてエイリアスXとして設定します。
または、システムがgedit
、gvim
、vim
、emacs
などを使用して、砂糖のコーティングを切り取り、すぐにこれらのことを教えます。
または、テキストを入力することもできます。シェル内のコマンドhelp
(alias help="less /etc/help.txt"
)を介して実行できる/etc/help.txt
というファイルこれにより、基本的なコマンドとさまざまなタスクの実行方法が提供されます。このアプローチでは、新しい機能やヒントを使って時間の経過とともにヘルプをカスタマイズでき、editor
便利なコマンド以上のものを提供します。
コメント
回答
ファイルを編集するように指示したときに一部のプログラムによって呼び出されるエディタープログラム。環境変数を自分で設定する必要があります。
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プログラムは、設定したエディターを使用します。上記のコマンドに従うと、現在のコンピューティングセッションに対してのみデフォルトのエディタを設定します。これらの変更を永続的にするには、上記の適切なコマンドを.login
またはファイル(cshまたはtcshユーザーの場合)または.profile
ファイル(bashまたはkshを使用する場合)。
Emacsを使用するふりをする場合は、別の環境変数もあります。これはALTERNATE_EDITOR
であり、同じ効果がありますが、Emacsが--alternate-editor
オプションで呼び出されたときに使用されます。
オプション
--alternate-editor=command
は、スクリプトでemacsclient
を実行するときに役立ちます。emacsclient
がEmacsへの接続に失敗した場合に実行するコマンドを指定します。たとえば、EDITOR
環境変数の次の設定は、Emacsが実行されていない場合でも、常にエディターを提供します。EDITOR="emacsclient --alternate-editor vi +%d %s"
コメント
-
sh
と言っても'意味がありません。sh
は通常、システムの'シェルです。以前はThomsonシェル、次にBourneシェル、そして現在ではほとんどのシステムで、POSIXsh
仕様を実装するシェルがあります。export EDITOR=vim
構文はPOSIXですが、BourneやThomsonではありません。export VISUAL=$EDITOR
はbash
およびksh
の一部の実装で機能します。他のほとんどのシェルではexport VISUAL="$EDITOR"
が必要です。VISUAL=$EDITOR export VISUAL
は、Bourneシェルを含むすべてのBourneのようなシェルで機能します。 -
EDITOR
そのようなマルチワード値に?その場合、which "$EDITOR"
またはwhich $EDITOR
を安全に使用して存在するかどうかを確認できません。
回答
環境変数EDITOR
を指定する必要があります
。 .profile
に次のコマンドを追加します。
export EDITOR=editor
vim
をデフォルトのエディターとして、代わりに追加します
export EDITOR=vim
個人設定:エディターの絶対パス名を使用します環境変数で。例:
export EDITOR=/usr/bin/vim
回答
editor
コマンドはubuntu固有です。ポータブルではなく、一般的でもありません(ubuntu以外)。このコマンドは、ユーザーごとではなく、システム全体にも設定されます。それが機能する方法は、/usr/bin/editor
がシステム上のエディターへの単なるシンボリックリンクであるということです。そのため、すべてのユーザーで同じです。
$EDITOR
環境変数はかなり標準的です。これは、ユーザーが何かを編集する必要がある多くのプログラムで使用されます。そのため、ユーザーのエディターを呼び出すときに使用する必要があるのはこの変数です。
コメント
- Ubuntu固有ではありません。これはDebianに由来し、Debian 'の代替メカニズムを使用します。'はすべてのDebian派生物で利用できます。 Ubuntuだけではありません。
回答
これは、スクリプトで使用しているものです:
# 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"
上記のemacsclientの例が機能することを確認するために、$editor
への最後の呼び出しを引用符で囲んでいません。
そのため、editor
には常に何らかの値を設定することが重要だと思います。そうでない場合は、最後の行 意図せずに実行される可能性があります $ filename 。私の場合、no_editor_found
を選択しましたが、同様に実行できます。そこでpico
またはed
を使用します。
$EDITOR
'それまたはeditor
シンボリックリンクに依存することはできません。s/Ubuntu/Debian/g