私は多くの開発者がこのコマンドを使用してviにオプションを設定するのを見ました。まだこれの本当の目的を理解していませんか?
bashコマンドを使用してviに切り替えるとどうなりますか?
答え1
readline編集をemacs(デフォルト)またはvi()に設定すると、デフォルトで選択したエディタset -o vi
とシェル全体で編集コマンドが標準化されます1。
したがって、シェルでコマンドを編集するには、テキストエディタと同じcommand2を使用できます。つまり、1つのコマンド構文しか覚えていない(十分でない場合)、両方の環境で編集が速くなり、エラーの可能性が低くなる可能性があります。
シェル履歴からコマンドを抽出してクリックしてEscapeコマンドモードに入り、次にをクリックするとv$ EDITORが開き、コマンドがロードされ、viモードでこの関係をさらに活用できます。更新複雑な編集。コマンドをうまく編集すると、その:wqコマンドはシェルで実行されます。
もちろん、これはEmacsまたはVi / mをエディタとして使用していると仮定します。
2. またはより正確には…
答え2
Android用ConnectBotなどのモバイルSSHクライアントを使用している場合、Viモードは有用性を大幅に向上させます。
これは、修飾子キーへの依存度が減少したためです。
Vimは、Android UIに組み込まれている基本的な編集方法を含む仮想キーボードを使用して、スマートフォンやタブレットで他のものよりも使いやすくなります。皮肉なことに、プラットフォーム独自の編集ウィジェットを使用してインスタントメッセージを編集するよりも、SSHセッションでVimを使用してCソースコードを編集する方が簡単です。
Shell viモードは同様の利点を提供します。
答え3
viモードとタスクを使用して、コマンドラインから内容を編集できます。
たとえば、説明するとより明確になります。
あなたは入力cp tmp/some_other_long_directory/file1.xt /tmp2/some_other_xtra_long_dir/
しかし、エラーが発生します。file1.txt
notと入力する必要があります。file1.xt
いいえこのオプションの設定では、上向き矢印を押してから左矢印を押して繰り返し.xt
ますt
。総キー入力:37。
そしてこのオプションを設定したら(たとえば)上矢印を1回押し、次にEscapeを押してコマンドモードに入り、0を押して行の先頭に移動し、次に移動し、挿入モードに入り、欠落している/xt[return]
tを入力します。xt
できます。i
。これはいくつかの点で非常に複雑に見えるかもしれませんが、vimユーザーなら、これらのコマンドはすでに非常によく知られています。総キー入力:9
答え4
最大の利点は、コマンドラインでスキーマを編集できることです。 Vimに慣れていて、Vimの概念が好きなら、その利点は明らかです。経験がある場合は、指の筋肉を記憶することでbashコマンドを非常に高速に編集できます。
気づく:モード編集が気に入らなくても(デフォルト)emacsモードを利用する方法を学ぶ必要があります。以下は、いくつかの便利なキーボードショートカットです。これはすべてのプロセスで機能しますreadline
。bash