ターミナルで改行文字の貼り付けを無効にすることはできますか?

ターミナルで改行文字の貼り付けを無効にすることはできますか?

それが重要なら、私は Mac OS で ZSH を使用しています。git のブランチで手動でチェリー ピッキングを行うときに、git checkout origin/develop --<path>gitlab からコピーして貼り付ける場所を入力したい場合があります。ただし、何らかの理由でコピー アンド ペースト機能が失敗することがありますが、その場合、何らかの理由でクリップボードに改行があり、ブランチがチェックアウトされます。これを防止したいと思います。

答え1

これは、iTerm を使用すると次のように可能です。以下をプログラミングするときに、Chrome やその他のアプリケーションで「プレーン テキストとして貼り付ける」ために使用される ++ をホットキーとしてCtrl選択Shiftしました。V

オプション1: すべての新しい行を削除する

Preferences-> Keys(タブ) -> +(ボタン) -> アクション: Paste...-> Remove newlines(チェックボックスがオン)。

オプション1: 改行を削除する

以下を貼り付けます:

asdf
asdf

結果は次のようになります:

asdfasdf

オプション2: 正規表現を使用して改行をスペースに置き換える

Preferences-> Keys(タブ) -> +(ボタン) -> アクション: Paste...-> Replace(チェックボックスがオン) を選択し、次のように入力します。

(\r\n|\r|\n)-> (スペース文字)。

オプション2: 正規表現を使用して改行をスペースに置き換える

以下を貼り付けます:

asdf
asdf

結果は次のようになります (これは上記のオプション 1 よりも好ましい方法です)。

asdf asdf

それでも安全です (コマンドは実行されませんが、複数行の場合には読みやすくなります)。

関連情報