viまたはemacs入力を使用しているかどうかはどうすればわかりますか?

viまたはemacs入力を使用しているかどうかはどうすればわかりますか?

クラッシュシェルを使用すると、コマンドライン編集モードをviまたはemacsとして指定できます。

これらの入力方法の違いは何ですか?

内部機能について尋ねることではありません。

答え1

で設定を見つけることができますset -o

これを効果的に設定すると、コマンドラインの履歴とコマンドの編集方法の一部のプロパティが変更されます。ユーザーフレンドリーなコマンド動作を提供するため、そのエディタの名前にちなんで命名されました。 viモードではデフォルト値がinsertあるため、通常どおりコマンドを編集できます。ただし、押すとモード<escape>に入りますcommand。ここでは一般的なviコマンドを使用できます。

  • b一言でも後ろに戻すよ
  • wあなたを前進させる一言
  • 0コマンドラインの先頭に移動します。
  • $コマンドラインの最後に移動します。
  • k前のコマンドに移動します
  • j次のコマンドに進みます
  • ?前のコマンドを検索できます
  • d0カーソルからコマンドの先頭まで削除されます。

編集(モード)に戻るには、insert次のいずれかの方法を使用します。行I、カーソルの下、カーソルの後、または行の末尾に最初の単語の先頭を挿入します。iaA

モードでは、emacsemacsの編集中にコマンドなしで使用できますinsert mode。 viモードに似たコマンドは次のとおりです。

  • <meta-b>一言でも後ろに戻すよ
  • <meta-f>あなたを前進させる一言
  • <ctrl-a>コマンドラインの先頭に移動します。
  • <ctrl-e>コマンドラインの最後に移動します。
  • <ctrl-p>前のコマンドに移動します
  • <ctrl-n>次のコマンドに進みます
  • <ctrl-r>前のコマンドを検索します。
  • <ctrl-u>カーソルからコマンドの先頭まで削除されます。

元の制御シーケンスを挿入するには(emacsコマンドを処理するのではなく)、continue theシーケンスを使用します<ctrl-v>。どのようなものを使うかは、読者の練習問題として残しておきます。 :) 両方のモードが使用可能です。はるかに私がリストしたものよりも多くのコマンドがあります。 (詳細は各エディタのマニュアルを参照してください!)

関連情報