私のgnomeターミナルで状況に直面しています。Ctrl+ Insertを使用してテキストをコピーし、Shift + Insertを使用してテキストをターミナルに貼り付けます。問題は、shift + Insertを使用して貼り付けた行が直接実行され、貼り付けだけが可能になり、行が自動的ではなくEnterキーを押したときに実行されるようにする場合です。
誰かがこれについて助けてくれますか、私が編集できる設定などはありますか?
これは私が何度も経験した一般的な問題です。
実際、それはgnomeターミナルのバグではありません。実際、コマンドは非表示の戻り文字を含む行全体をコピーした場合にのみ自動的に実行されます(これは、WebページまたはPDFファイルからコピーする場合に特に一般的です) )
現時点では、この問題を回避するために見つけた唯一の方法は次のとおりです。
同じ理由で、複数行のコードをコピーすると、最後の行を除くすべての行が常に実行されます。
誰かがこの問題のより良い解決策を知っているなら、私も知りたいです
これを実現する別の方法は、コマンドの間に(それらの戻り文字ではなく)2つのアンパーサンド&&
を追加することです。また、sed
またはawk
を使用して、それらすべての戻り値を&&
に置き換えることもできます。
これを行うには、次のようなsed
コマンドを使用します。
sed ':a;N;$!ba;s/\n/ \&\& /g' filename
これにより、すべての改行が&&
に置き換えられます(ファイル名は自分のファイルの名前に置き換える必要があります)。
また、gnome-terminal
とは何の関係もありません。実際には、bash
がこれらのコマンドを解釈しています。たとえば、Konsole
ターミナルでも同じ状況が発生します。
編集:Zsh
にはその問題はなく、Enter
ボタンを押すと複数行が実行されます。したがって、別の解決策は、Zsh
の代わりにbash
をインストールして使用することです。これは、ほとんど(すべてではない)のLinuxディストリビューションのデフォルトのシェルです。
経由でインストールできます
apt install zsh
そしてそれをデフォルトにする
chsh yourusername -s /usr/bin/zsh