vim を使用して、コンテンツ (CentOS サーバーの Git Bash 内) をファイルに貼り付けようとしました。
ファイルを開いてshift+を使用しようとしたところ、最初の半分 (おおよそ) が切り取られていることに気付きました。ただし、vim を挿入モードに設定して+insertを押すと、すべてが完璧に貼り付けられます。 なぜそうなるのか疑問に思いました。shiftinsert
ありがとう
答え1
Shift+Insertと " の両方貼り付け" をターミナルに入力すると、同様に動作し、キーの押下をエミュレートします。
これは、端末では区別できないことが多い重要な区別です。入力しているのか、貼り付けているのか?注記: 一部の端末では「括弧付き貼り付け「モード」では、@Joshのコメントの後、vimプラグイン括弧で囲んだ貼り付けxtermあなたが興味を持つかもしれないもの。
貼り付けたデータは、挿入モードに入る最初の文字まで失われます。カーソルが移動し、ファイルの他の部分が変更されている場合もあります (例: 大文字と小文字の変更、削除など)...
要約すると、ファイルに挿入したいテキストを貼り付ける場合は、まず挿入モードに入ります。
次のテキストをコピーして、Vim を実行しているターミナル (挿入モードではない) に貼り付けてみてください。
hello how are you
結果は、キーボードで同じ文字を入力した場合と同じになります。
この場合、挿入モードのままになります...
挿入モードを終了しEscて次のコードを貼り付けてみてください
/are
n
これは「are」の検索を実行します。
これを貼り付けます:
:0
dG
ああ、だめだ... 全部なくなってしまった!
また、インデントが有効になっている場合、コード ブロックを vim (挿入モード) に貼り付けると、インデントが過剰になることに気付くでしょう。vim は自動的にインデントし、貼り付けたコードにインデントが含まれます。
def my_print(message):
print(message)
print('done...')
これを修正するには、コマンド:set paste
と:set nopaste
コマンドを使用します