vimだけでなく、コマンドラインからSSHクライアントとのマウスクリック統合は可能ですか?

vimだけでなく、コマンドラインからSSHクライアントとのマウスクリック統合は可能ですか?

ではvimオプションを使用できます:set mouse=a(SSHクライアントがサポートしている場合)、矢印キーなどを使用するのではなく、単にクリックするとカーソルが移動することがあります。

vim「代替画面」に切り替えることに気づきました。この統合を「ホーム」画面でも使用できる方法があるかどうか疑問に思います。それでは、これを処理できるシェルスクリプトソルバーはありますか?

今は使用しているので、bash時には非常に長いコマンドを入力し、途中で何かを修正する必要があります。bash合理的な選択肢やマウスの相互作用を処理する拡張機能があればbashうれしいです。これを行うには何が必要かを知っていますか?

また興味がありますが、mysql基本的なコマンドラインから始めましょう。

答え1

bash現在作業中のコマンドラインを編集するために外部エディタを呼び出す機能が組み込まれています。マウスのサポートは使用されているエディタによって異なります。

bashEmacsに似たモードを使用している場合は、Ctrl-XCtrl-Eエディタにアクセスするために使用します。

viなどのキーバインディングを使用する場合は、次のようにします。ESCv

fc組み込みコマンドを使用して前の行を編集することもできます。

$サッカークラブヘルプ

FC:fc [-e ename] [-lnr] [first] [last]またはfc -s [pat=rep] [command]

履歴リストにコマンドを表示または実行します。

fc履歴リストのコマンドのリスト、編集、および再実行に使用されます。 FIRSTとLASTは範囲を指定する数値であり、FIRSTはその文字列で始まる最新のコマンドを意味する文字列です。

オプション: -e ENAME 使用するエディタを選択します。デフォルト値は$FCEDIT、次$EDITOR、次です。vi

[...]


しかし、これについていくつかの迷惑があります(どんな形でも):

編集を中断したり、bashをすぐに実行したりせずに行自体の編集に戻す簡単な方法があるかもしれませんが、私は方法を見つけることができませんでした(あまり頑張っていませんでした)。

保存せずに終了すると、エディタを呼び出す前と同じ行が実行されます。

私が見つけた唯一の方法は、エディタからバッファ全体を削除してから保存して終了することです。#または最初にコメントを追加してください。

PS:私は実際の編集機能が必要なCtrl-XCtrl-Eときにemacs modeline編集を使います。vimなぜなのかわかりません。私はviviとviが好きですvimが、コマンドラインのviモードは好きではありません。

答え2

readlineのネイティブマウスサポートはありませんが(デフォルトでは)同僚のユーザー@Tinmarinoが実証したように、いくつかの素晴らしいトリックを使用してアクティブにすることができます。彼の 回答到着似たような 質問

彼のスクリプトどこかに置き、bashの起動中にインポートし、マウストレースを有効にすることができます。

それはうまくいきますが(私にのみ当てはまるかもしれません)、tmux-mosh-tmux-sudoカスケード内では「x」の計算が不安定になり、オフセットが発生します。

mysqlクライアントもreadline(iirc)を使用して構築されているので、上記のアプローチもここでも機能します。

編集:以前のバージョンは質問に対する私の答えを誤解していました。

関連情報