BASHプログラミング
 Computer >> コンピューター >  >> プログラミング >> BASHプログラミング

LinuxでVimをデフォルトのエディターとして設定する方法

私はLinuxを約25年間使用し、その前の数年間はUnixを使用しました。その間、私は毎日使用するいくつかのツールの好みを開発しました。私が使用する最も重要なツールの1つは、Vimエディターです。

私は90年代初頭にSolarisを学んだときに、Viを使い始めました。これは、どのシステムでも常に利用可能であると言われたためです。これは私の経験でも当てはまります。私は他の編集者を試しました、そしてそれらはすべて仕事をします。ただし、Vimが最適に機能することがわかりました。Vimを頻繁に使用しているため、Vimの筋肉の記憶により、他のエディターでもコマンドキーストロークを使用しようとします。

さらに、私はVimが本当に好きです。

多くの設定ファイルはVimの代わりにViを使用しており、viを実行できます。 指図。ただし、vi コマンドはvimへのリンクです 。

多くのLinuxツールは、Nano、Emacs、またはVimをエミュレートするか単に呼び出すエディターを使用します。他のいくつかのツールを使用すると、ユーザー(明確な設定を持つユーザーなど)がお気に入りのエディターにリンクできます。私に最も影響を与えた2つの例は、デフォルトでEmacsになっているBashコマンドライン編集と、デフォルトでPicoエディターになっているAlpineテキストモードの電子メールクライアントでした。実際、Picoエディターは、Alpineの前身であるPine電子メールクライアントで使用するために明示的に作成されました。

外部エディタを使用するすべてのプログラムが構成可能であるとは限りません。開発者が指定したエディタのみを使用するものもあります。構成可能なアプリケーションの場合、好みのエディターを選択するためのさまざまな方法があります。

Linuxコマンドライン編集

実際にテキストファイルを編集する以外に、私が使用する他のツールで最も編集が必要なのはBashシェルです。デフォルトのBashエディターはEmacsです。私はEmacsを使ったことがありますが、私は間違いなくVimを好みます。何年も前に、Bashコマンドライン編集のデフォルトの編集スタイルをEmacsからVimに切り替えました。これは、私にとってはるかに快適です。

Bashを構成する方法はいくつかあります。 /home/yourhomedirectory/.bashrcなどのローカル構成ファイルを使用できます 、これはユーザーアカウントのデフォルトのみを変更し、同じシステム上の他のユーザーのデフォルトは変更しません。私はこれらのタイプの変更をグローバルに行うことを好みます。これは基本的に私の個人アカウントとルートを意味します。この2番目のケースでは、独自の構成ファイルを作成して、/etc/profile.dに配置できます。 ディレクトリ。

myBashConfig.shという名前のファイルを追加しました /etc/profile.dへ 。 /etc/profile.dには、インストールされているすべてのシェルのファイルがあります。 ディレクトリ。ターミナルセッションの起動中、各シェルは、ファイル名拡張子に基づいて、目的のファイルのみを読み取ります。たとえば、Bashシェルは.shのファイルのみを読み取ります 拡張機能。

<SNIP>
alias vim='vim -c "colorscheme desert" '
# Set vi for bash editing mode
set -o vi
# Set vi as the default editor for all apps that check this
EDITOR=vi
<SNIP>

set -o viの行 このグローバルBash構成ファイルセグメントでは、Viがデフォルトのエディターとして設定されています。 -o このセットのオプション コマンドはviをエディターとして定義します。これを有効にするには、実行中のBashセッションをすべて閉じて、新しいセッションを開く必要があります。

この時点で、カーソルの移動を含め、使い慣れたVim編集コマンドをすべて使用できるようになります。 エスケープを押すだけです キーを押してVim編集モードに入ります。私は特にbを使用する機能が好きです カーソルを複数の単語に戻すには、複数回押します。

Vimを他のプログラムのデフォルトとして設定

一部のLinuxコマンドラインツールおよびプログラムは、 $ EDITORをチェックします 使用するエディターを決定するための環境変数。次のコマンドを使用して、この変数の現在の値を自分で確認できます。新しくインストールした仮想マシンの1つでこれを実行して、デフォルトが実際に何であるかを確認しました。

# echo $EDITOR
/usr/bin/nano
#

デフォルトでは、 $ EDITORをチェックするFedoraプログラム 環境変数はNanoエディターを使用します。 EDITOR =viという行を追加します 上記のスニペットに示されているように、myBashConfig.sh デフォルトをVi(Vim)エディターに変更します。外部エディタを使用するすべてのコマンドラインプログラムがこの環境変数をチェックするわけではありません。

アルパインでメールを編集

数週間前、私はPicoが私のメールエディタとしてうまく機能していないと判断しました。 ThunderbirdからAlpineに切り替えてからしばらくの間、動作させることができました。 Vimのキーシーケンスを使おうとすると、Picoが邪魔になり、生産性に影響を与えていることがわかりました。

Alpine Helpで、デフォルトのエディターを変更できることを読みました。 Vimに変更することにしました。これは実際には非常に簡単です。

アルパインのメインメニューで、 Sを押します キーを押してセットアップに入り、 C 構成用。 作曲家の設定 セクションで、代替エディタコマンドを有効にするを選択します および代替エディターを暗黙的に有効にする Xのアイテム 。 高度なユーザー設定の数ページ下 セクションで、編集者を見つけます ライン。まだ変更されていない場合は、次のようになります。

Editor    = <No Value Set>

この編集者を強調表示します カーソルバーに合わせて、 Enterを押します。 行を編集します。 <値が設定されていません>を変更します vim Enterを押します 、次に Eを押します 終了するためのキーとY 行った変更を保存します。

Vimを使用してメールメッセージを編集するには、メール本文を入力するだけで、Picoと同じようにVimが自動的に起動します。実際にVimを使用しているので、私のお気に入りの編集機能はすべてそこにあります。 Esc:wq でさえ Vimを終了するシーケンスは同じです。

最終的な考え

私は他のエディターよりもVimの方が好きです。これらのシステムの変更により、デフォルトで別のエディターを使用するプログラムでVimをデフォルトとして使用できるようになります。一部のプログラムは$EDITORを使用します 環境変数なので、変更を加える必要があるのは1回だけです。 Alpineのような他のプログラムには、プログラムごとに個別に設定する必要のあるユーザー構成オプションがあります。

好みの外部エディタを選択するこの機能は、Unix哲学の信条である「各プログラムは1つのことを実行し、それをうまく実行する必要があります」と完全に一致しています。完全に優れたエディターがいくつかあるのに、なぜ別のエディターを作成するのでしょうか。また、Linux哲学の信条である「お気に入りのエディターを使用する」にも適合しています。

もちろん、デフォルトのテキストモードエディタをNano、Pico、EMACS、またはその他の好きなものに変更できます。


  1. Linuxでプロセスを強制終了する方法

    Linuxでプロセスを強制終了するために利用できるメソッドは多数あります。このチュートリアルでは、壊れたプロセスを見つけて強制終了する方法を説明します。 プロセスは簡単に孤立する可能性があります。意図的かどうかに関係なく、親プロセスがクラッシュし、子プロセスが実行されたままになる可能性があります。親プロセスが完了した子プロセスを取得できず、ゾンビになる場合があります。 これらのプロセスは両方とも行き詰まっており、手動による介入が必要です。 ジョブ制御を入力します。 壊れたプロセスを強制終了する方法を見てみましょう。 いくつかのコマンドを見てみましょう: トップ (そしてなぜ htop

  2. Linuxでディレクトリの名前を変更する方法

    このチュートリアルでは、「 mv 」を使用して、Linuxでディレクトリの名前を変更する方法を説明します。 」と「名前の変更 」コマンド。 ディレクトリの名前変更は、ファイルの名前変更と大差ありません。結局のところ、これはLinuxであり、すべてがファイルであるためです。ディレクトリさえ。したがって、ファイルの名前変更で説明したことのほとんどは、ここでも機能します。 mvを使用したディレクトリの名前変更 mv RenameDir/ renameDir ディレクトリの名前を変更するmvコマンド そこにそれがある。ただmv それ、歌のように。あなたがディレクトリに向けられた何かを持っている