4

このテキストをコピーしてvimに貼り付けようとすると、半分がコマンドラインに、半分がテキストエディターのメインウィンドウに表示されます

これが本文です

sub(/;;/," ",$0)

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

4

4 に答える 4

6

コンソール Vim (GVIM ではない) に貼り付けると、Vim は、貼り付けた内容がユーザーによって入力されたのか、実際の貼り付けなのかを検出できません。したがって、すべての (挿入モード) マッピングが適用されます。;;おそらく、挿入モードを終了し、貼り付け中にトリガーされて大混乱を引き起こすマッピング(おそらく?)があります。

それを防ぐには、次の 2 つの方法があります。

"*p(アクティブな選択) または(システム クリップボード)を介して通常モードで貼り付けます( "+pVim がそれらと対話できる場合)。

または、'pastetoggle'オプションを設定します。

:set pastetoggle=<F2>

F2次に、貼り付ける前に (挿入モードで)を押します (モードが にどのように変化するかを確認してください-- INSERT (paste) --。このようにして、Vim に「次の文字は私が入力したものではなく、文字どおりに処理します」と明示的に伝えます。

この手動管理が面倒な場合は、代わりにグラフィカル GVIM を使用できます。

于 2013-01-15T02:46:31.970 に答える
1

どちらの方法でコピーして貼り付けているのかわかりません (つまり、Xorg ウィンドウ (gnome-terminal など) から vim へ、またはその逆)。Xorg ウィンドウから vim ウィンドウにコピー アンド ペーストするとします。それにはいくつかの方法があります。

  1. マウスを使用してコピーするテキストを選択し、vim を挿入モードにしてから、マウスの中ボタンを押します。
  2. コンソールで X サポート付きの vim を使用している場合 (多くの場合、vimx と入力して起動します)、マウスを使用してコピーするテキストを選択し、vimx ウィンドウで を押し"*pます。マウスで選択したテキストが*レジスタに配置されます。
  3. コンソールで X サポート付きの vim を使用している場合 (vimx と入力して開始)、マウスを使用してコピーするテキストを選択し、マウスを右クリックしてメニュー項目Copyを選択し、vimx ウィンドウでヒット"+pして貼り付けます。この場合、右クリック メニュー項目を使用してコピーしたため、テキストは+レジスターに配置されました。

上記の項目 2 と 3 は、gvim を使用する場合にも機能します。

于 2013-01-15T03:03:17.813 に答える
0

vimにはモードがあり、テキストを入力するには挿入モードにする必要があります。テキストを貼り付ける前に (i現在の文字の前) または(現在の文字の後) を押します。a

挿入モードに入らない場合、最初の文字sは現在の文字を消去ub(/;;/," ",$0)し、ファイルに挿入モードに入ります。

を押しESCて挿入モードを終了します。

また、たまたまGUIと共有クリップボードを持っている場合は、押すpと貼り付けられます。

OSX で共有クリップボードをファイルに挿入set clipboard=unnamedするには。~/.vimrc

于 2013-01-15T02:37:45.293 に答える
0

できることは、挿入モードになっていることを確認し、キーボードの ctrl+v でコード スニペットをコピーし、vim ウィンドウを左クリックしてフォーカスを戻し、右クリックを 1 回タップすると、テキストが貼り付けられるはずです。確認するためにこれをテストしたところ、少なくともCentOS 6.3で動作しました。

于 2013-01-15T02:33:29.617 に答える