これは、Ctrl + Shift + Vを使用しても、右クリックメニューから貼り付けても発生します。
この動作を停止させるにはどうすればよいですか?
これは、Ctrl + Shift + Vを使用しても、右クリックメニューから貼り付けても発生します。
この動作を停止させるにはどうすればよいですか?
回答:
貼り付けるために、テキストの複数行をコピーしないでください。行の最後の部分を単純にコピーすることはほぼ保証できます。貼り付けているコード行を3回クリックしてコピーすると、行末に改行が表示されます。確かにそれが本当に問題である場合は、最後の文字/数字を除いて行全体をコピーし、貼り付けに改行が含まれているかどうかを確認します。
貼り付けているテキストには、末尾の改行が含まれています。改行を貼り付けると、ターミナルで実行中のシェルはそれを押したEnterと認識し、コマンドを実行します。
貼り付け操作は、端末エミュレータによって実行されます。ユーザーが入力したテキストを渡すのと同じ方法で、貼り付けたテキストをターミナルで実行されているアプリケーションに渡します。キーボード入力とテキスト出力の仕組みを参照してください。入力の仕組みの詳細については、アプリケーション(ここではシェル)には、キーストロークと貼り付け操作を区別する方法がありません。
最近の多くのターミナルエミュレータは、ブラケットペーストをサポートしています。括弧付きの貼り付けモードでは、アプリケーションは貼り付け操作とキーストロークを区別できます。角括弧で囲まれた貼り付けは、貼り付けられたテキストに対してアプリケーションが何か異なる場合にのみ役立つため、サポートするアプリケーションによって有効にされ、ターミナルエミュレータのユーザーが設定するものではありません。
Zsh 5.1(数週間前にリリースされたため、ほとんどのディストリビューションではまだ利用できません)は、ブラケット付きペーストモードのサポートを追加します。テキストを貼り付けると、コマンドラインに挿入されるだけで、押す前に編集しEnterてコマンドラインを実行できます。
oh-my-zshのユーザーは、以前のバージョンのzshでもsafe-pasteプラグインを使用できます。
zshで実行できるもう1つのことは、選択範囲を文字列として引用符付きで挿入することです(空白などのすべてのシェル特殊文字の前にバックスラッシュの形式で)。入力`xsel`
して主要な選択(自動マウス選択)`xsel -b`
を取得するか、クリップボードのコンテンツ(Ctrl+でコピーしたテキスト)を取得しC、を押しTabます。
古いzshバージョンがあり、引用符なしでクリップボードのコンテンツを挿入したい場合は、選択範囲を挿入する関数を定義できます。
function zle_insert_x_selection {
LBUFFER+=$(xsel ${NUMERIC+-b} -o </dev/null)
}
zle -N zle_insert_x_selection
bindkey '\e\C-v' zle_insert_x_selection
あなたの中にこれで.zshrc
、あなたは押すことができますCtrl+ Alt+ V一次セレクションを挿入するために、またはCtrl+ U Ctrl+ Alt+ Vクリップボードの内容を挿入します。それらはカーソルの前に挿入され、末尾の改行がない場合を除いて変更されません。bashで同様のものについては、bashとX11の間でクリップボードを共有するを参照してください。
テキストエディタウィンドウで、次のショートカットを使用して、\ n(改行)なしでテキストをコピーします。
ブラウザウィンドウなど、テキストを編集できない場合は、次の2つの方法のいずれかを使用します。
正しい選択(\ nなし)の外観:
ls -al
誤った選択(\ n付き)の外観:
ls -al