web-dev-qa-db-ja.com

マウス(:set mouse = a)がオンの場合、vimのコピーと貼り付けが機能しませんか?

Vimから別のアプリケーションに、またそのアプリケーションからvimに、マウスの右クリックを使用してコピーアンドペースト(または Ctrl+v そして Ctrl+c そしてまた試した Command Mac OSXのバージョンです。しかし、それを実行しようとすると、vimから最初のWordをコピーするか、アプリケーションからvimにコピーすると、すべてがコピーされますが、奇妙なタブとスペースが挿入されます。これは、ターミナルでマウスをオンにすることにしたときに起こったと思います。のように:

:set mouse=a

ITerm(mac os x)の.vimrcファイルにその行があります。ただし、mouse=aをオンにしても壊れないように、vimにない他のアプリケーションでコピーを貼り付けることはできますか?または、少なくともコピーペースト中にマウスをオフに設定することは可能ですか? :helpマウスを使用しましたが、コメントは役に立ちませんでした。ここに貼り付けますが...コピー貼り付けツールが壊れています!

私は:set mouse!:set mouse=a!を試しましたが、これらは役に立ちませんでした... :(


私の環境の追加情報:

ほとんどの場合tmuxも使用していますが、tmuxセッションなしでこのエラー/バグをテストしました。そのため、これを主にvimの質問として投稿しました。

55
Pinocchio

mouse=aは、vimから読み取り可能な文字をコピーして貼り付けることができないようにします。

mouse=amouse=rに変更すると、問題が解決するはずです。

私が不思議に思っていることの1つは、マウスをmouse = aに設定してvimの構成ファイルを変更していますか?

元の回答^

mouse=rですべての過去のコピーオプションが提供されない場合は、mouse=vに変更します。

mouse=rmouse=vの両方に必要な機能は同じですが、使用しているvimrcによっては、一方が他方よりもうまく機能します。

72
bgrif

OS Xユーザーの場合:mouse=aを使用してコピーして貼り付けるには alt の代わりに Shift テキストを選択します。その後 cmd-c そして cmd-v 期待どおりに動作します。

この答えはここで見つかりました https://stackoverflow.com/a/4608387/671639 多くのグーグルの後。

24
BetaRide

から https://stackoverflow.com/questions/4608161/copy-text-out-of-vim-with-set-mouse-a-enabled/4608387

マウスで選択しながら「シフト」キーを押します。これにより、マウス選択は、mouse = aが有効になっていないかのように動作します。

これは機能し、これを回答として受け入れたstack-overflowのレビュー担当者によって検証されました:)

10
BHS

同じ問題があった:マウスを使用して強調表示できなかったため、ターミナルセッションでVIMからWindowsドキュメントおよびブラウザにコピーして貼り付けることができなかった。

: set clipboard=unnamedplus
: set mouse=r
7
Bob

Bharathの解 、押す Shift コピー中にそれを行いますが、番号付けやハッシュコメントの場合にコピーしたいものよりも多くコピーします。

mouse = aでもこれを行う1つの方法は、 V シングルカーソルまたは Shift+V 完全な線の強調表示のため、矢印で上下に移動して使用できます Y コピーするか D カットし、それでうまくいくはずです。

6
amrx

参照: http://vimdoc.sourceforge.net/htmldoc/options.html

参照の下部にあるメモセクションを見てください。
マウスを有効にしても、Shiftキーを押したままにすると、マウスボタンを使用できます。これには、マウスボタンを使用したコピーペーストが含まれます。

*'mouse'* *E538*
'mouse'         string  (default "", "a" for GUI, MS-DOS and Win32)
            global
            {not in Vi}
    Enable the use of the mouse.  Only works for certain terminals
    (xterm, MS-DOS, Win32 |win32-mouse|, QNX pterm, *BSD console with
    sysmouse and Linux console with gpm).  For using the mouse in the
    GUI, see |gui-mouse|.
    The mouse can be enabled for different modes:
        n   Normal mode
        v   Visual mode
        i   Insert mode
        c   Command-line mode
        h   all previous modes when editing a help file
        a   all previous modes
        r   for |hit-enter| and |more-Prompt| Prompt
    Normally you would enable the mouse in all four modes with:
        :set mouse=a
    When the mouse is not enabled, the GUI will still use the mouse for
    modeless selection.  This doesn't move the text cursor.

    See |mouse-using|.  Also see |'clipboard'|.

    Note: When enabling the mouse in a terminal, copy/paste will use the
    "* register if there is access to an X-server.  The xterm handling of
    the mouse buttons can still be used by keeping the shift key pressed.
    Also see the 'clipboard' option.
4
rabin utam

使用できます y コピー(ヤンク)と p :set mouse=a~/.vimrcを設定しても貼り付けられます。使用する v+ arrow keysはテキストを強調表示します。行全体をすばやくコピーするには、 shift+y

1
Myna Martin

私のMacでは、次の2つが役立ちました。

  • :set mouse- = a
  • fn +クリック(ShiftまたはAltの代わり)
0
randomcontrol

他のアプリケーションからvimに貼り付けるときにタブ/スペースを追加することを指定した質問の2番目の部分については。これを〜/ .vimrcのset pasteまたはvimに追加してから、通常モードで貼り付ける前に、「shift」+「:」を押して「set paste」と入力してください。

0
abhixec

追加する2つのこと:

  1. set mouse=vファイルで前後に設定した他のディレクティブによっては、.vimrcが期待どおりに機能しないことがよくあります。これは、vimを実行している端末によっても異なります。
  2. mouse=aを維持することをお勧めします。すべてのマウスモードを同時に有効にし、@ BHSによって提案されたトリックを使用して、Shiftキーを押しながら中央のマウスを使用してハイライトしたテキストを貼り付ける必要があります。ボタン( set mouse=aを有効にしてVimの外にテキストをコピー )。
0
Marco Tinari

以下の2行を~/.vimrcで使用して、gui-mouseのすてきな機能をすべて使用し、y(ヤンキー)を使用してシステムのクリップボードに貼り付けます。追加のクリップボードが本当に必要ない場合は、バッファ:

set mouse=a
set clipboard=unnamed
0
CeDeROM