web-dev-qa-db-ja.com

Ubuntu 18.04 Gnomeターミナルでのコピーと貼り付け

私のgnomeターミナルで状況に直面しています。Ctrl+ Insertを使用してテキストをコピーし、Shift + Insertを使用してテキストをターミナルに貼り付けます。問題は、shift + Insertを使用して貼り付けた行が直接実行され、貼り付けだけが可能になり、行が自動的ではなくEnterキーを押したときに実行されるようにする場合です。

誰かがこれについて助けてくれますか、私が編集できる設定などはありますか?

2
Pythonista

これは私が何度も経験した一般的な問題です。

実際、それはgnomeターミナルのバグではありません。実際、コマンドは非表示の戻り文字を含む行全体をコピーした場合にのみ自動的に実行されます(これは、WebページまたはPDFファイルからコピーする場合に特に一般的です) )

現時点では、この問題を回避するために見つけた唯一の方法は次のとおりです。

  • テキストを選択するときは注意して、行全体を選択せず​​にテキスト全体を選択してください。
  • ウェブページからテキストをコピーするか、PDF= geditにコピーし、その後geditからターミナルにコピーします

同じ理由で、複数行のコードをコピーすると、最後の行を除くすべての行が常に実行されます。

誰かがこの問題のより良い解決策を知っているなら、私も知りたいです

1
Damiano

これを実現する別の方法は、コマンドの間に(それらの戻り文字ではなく)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
2
Parsa Mousavi