16

VI の使用経験はあまりありません。Mac OSXで実行しています。

以前にエディターでテキストをコピーして貼り付けました (以下で gui と言うときは、Mac OSX gui を意味します)。

  1. command CGUI またはyyVI のコマンドを使用して、i を強調表示してコピーするカーソル。
  2. テキストを貼り付けたい場所に挿入モードに入り、command VまたはGUIを使用して貼り付けます

私の問題は、端末で複数の行に分割されている非常に長い行が、いずれかの方法でコピーして貼り付けると、端末に表示されるように複数の行になることです。

そのままコピーして貼り付けるにはどうすればよいですか?

4

6 に答える 6

20
  1. 内容をコピーして別の場所に貼り付けたい行にカーソルを移動します。
  2. プレス モードでキー v を押したまま、必要に応じて、またはコピーされる行まで上下の矢印キーを押します。キー V を押すと、行全体を選択できます。
  3. d を押してカットするか、y を押してコピーします。
  4. 貼り付けたい場所にカーソルを移動します。
  5. p を押してカーソルの後にコンテンツを貼り付けるか、P を押してカーソルの前に貼り付けます。
于 2015-03-13T14:31:25.827 に答える
11

あなたが持っている

 :set paste

Vim を貼り付けモードにします。これは、1 つのウィンドウからテキストを切り取りまたはコピーして、Vim に貼り付けたい場合に便利です。これにより、予期しない影響が回避されます。このオプションを設定すると、入力されたテキストと貼り付けられたテキストを Vim が区別できない端末で Vim を使用する場合に便利です。

于 2012-09-06T10:55:13.390 に答える
7

あなたの vi が実際にはvimであると仮定して、貼り付ける前に次のようにします:

:set paste

これにより、ワードラップと自動インデント、および入力されたテキストを変更するすべての同様のものが無効になります。貼り付け後、再度オフにします

:set nopaste

その理由は、gvim入力から貼り付けを認識できる一方で (したがって、gvim を使用する場合はこれは必要ありません)、端末バージョンではできないためです。コピーと貼り付けを行うのは端末であり、vim は入力されたテキストを単純に認識するためです。したがって、他のテキストと同様に変換を適用します。

于 2012-09-06T10:53:58.330 に答える
2

誰かが私に巧妙なトリックを見せてくれました。vi エディターで、挿入モード ("i") に設定します。次に、挿入したい場所で中ボタンをクリックします。

于 2015-04-15T15:50:39.790 に答える
0

それが実際に 1 つの長い行である場合、これを行う最も簡単な方法は、コマンド モードで 'Y' を使用することです。行に移動して Y を実行し、行を配置したい場所に移動して ap (貼り付け) を実行するだけです。

于 2013-02-26T18:49:17.760 に答える