コマンドライン入力で2文字を置き換える方法は?

コマンドライン入力で2文字を置き換える方法は?

コマンドラインにコマンドを入力したとき、gitp ushまたは同じ文字が混乱することがよくありますc d-。上をクリックしてその行を表示し、いくつかのキーを押して問題のある文字を置き換えることができるようにしたいです。もちろん、文字の1つを削除して再入力することもできますが、可能であれば、これらのエラーをあまり迷惑にすることをお勧めします。

端末にコマンドを入力するときに2文字を置き換える方法はありますか?

私は主にUbuntuでGUIターミナルアプリケーションを使用していますが、シェルがどのように実行されるのかは全く関係ない答えがあるのではないかと思いました。

ベストアンサー1

シェルでVi編集モードを使用している場合は、xp通常モード(「コマンドモード」、つまりを押した後)でEsc入力するだけで、2文字を簡単に置き換えることができます。これは、文字通り「カーソルの下の文字を消去してから」「前に読み込んだテキスト(削除された文字)をカーソルの後ろに貼り付ける」を意味します。

これはすべてのshシェルに適用されます。ViモードはPOSIX規格で説明されています。

Emacs編集モードでは、同じ操作がしばしばCtrl+TT「転置」)にバインドされます。

いいえ完全これを実行するシェルは独立した方法です。上記のコードはbashksh93およびで動作しますzshが、Emacsコマンドライン編集モードはPOSIX標準と同じ標準ではありません。

上記のリンクされたページの基礎セクションは次のとおりです。

最初の提案には、KornShellから派生したemacsコマンドライン編集モードが含まれていましたが、emacsエディタ自体は含まれませんでした。 emacsサポーターコミュニティは、この非常に強力な環境を標準化しようとする試みは、サプライヤがコミュニティが必要とする拡張性が不足している厳密に一貫したバージョンをリリースすることを奨励することを恐れているため、emacsエディタ全体を標準化してはならないと主張しています。もともとemacsプログラムの作成者もこのプログラムを省略したいと述べました。また、歴史的にはemacsを含んでいないか、それを含んだがサポートしないシステムが多かったが、viを含まずサポートしないシステムはほとんどなかった。 KornShellのバージョンとGNUシステムで配布されたエディタの間にわずかな違いがあることが明らかになったので、シェルemacsコマンドライン編集モードは最終的に省略されました。emacs の作成者は POSIX emacs モードを削除するか、指定されていない条件がたくさんあるように要求しました。KornShellの作成者は、シェルの一貫性を維持するために変更を検討することに同意したが、標準開発者は当時の仕様を延期することにした。当時は、後続の草案が受け入れ可能な定義の合意につながると考えられていましたが、これは起こらず、そうするインセンティブもないようです。いずれにせよ、ユーザーフレンドリーなエディタの正確なモデルに基づいて、追加のコマンドライン編集モードを自由に提供できます。

おすすめ記事