マウス(:set mouse = a)がオンのときにvimのコピーと貼り付けが機能しない


52

私はvimから別のアプリケーションに何かをコピーして貼り付けようとしましたが、そのアプリケーションからvimマウスで右クリックしてからコピーして貼り付けます(またはCtrl+ vCtrl+でc、もちろんCommandMac OSX用のバージョンも試しました)。ただし、実行しようとすると、vimアプリケーションからにコピーするとき、またはアプリケーションからにコピーするときに最初の単語のみがコピーされ、vimすべてがコピーされますが、奇妙なタブとスペースが挿入されます。これは、ターミナルでマウスをオンにすることにしたときに起こったと思います。次のように:

:set mouse=a

.vimrciTerm(mac os x)のファイルにその行があります。しかし、上でvim壊れないようになっていない他のアプリケーションで私のコピーを貼り付けることは可能mouse=aですか?または、少なくともコピーペーストを実行している間にマウスをオフにすることは可能ですか?私がやった:helpマウスが、コメントは私のために有用ではありませんでした。ここに貼り付けますが、コピーペーストツールが壊れています!

私がしようとしなかった:set mouse!し、:set mouse=a!これらは便利な何もしなかった... :(


私の環境の追加情報:

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


4
動詞vimを使用して、プライマリ選択にヤンクできることを伝えますy。なぜそれを使用しないのかわかりません。
HalosGhost 14年

1
どうしたらいいかわからないので、私はそうしません。私の無能を謝罪します。あなたが言及するまで、それが存在することすら知りませんでした。あなたの知識を共有してください!:)
ピノキオ14年

これはmacvimですか?
パトリック14年

いいえ、それはそのiTermだけではありません(質問で述べたように、しかし良い質問です)。
ピノキオ14年

回答:


66

mouse=a 読み取り可能な文字を使用してvimからコピーアンドペーストする機能を防止します。

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

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

元の回答^

mouse=r過去のオプションをすべてコピーしない場合は、mouse=v

どちらmouse=rmouse=vあなたが必要とする、しかし、あなたは1が良い、他に動作します使用しているのvimrcに依存している同様の機能を有しています。


また、テキストを強調表示して、マウスの中ボタンを使用して別の場所に貼り付けようとしましたか。Ctrl + vとCtrl + cを試してみるとうまくいく傾向があります
bgrif 14

あなたの質問が何を意味するのかわかりません:.vimrcファイルで私one thing I am wondering is, are you changing the config file for your vim with the mouse set to mouse=a?が持っているの:mouse=aですか?私は持っていない:mouse=a私のファイル.vimrcファイルに。
ピノキオ14

1
ただ--with-x=yes?私は:set --with-x=yes mouse=a何かを置く必要はありませんか?意味を明確にできますか?
ピノキオ

1
に結合--with-x=yesする必要があるかどうかを調査させてくださいset mouse=a。私がそれを読んでいたとき、私が見たのは、それ自体が設定ファイルにあったことだけでした。しかし、それは異なる可能性があるので、私はあなたのために働く正しいことをあなたに伝えることを確実にしたいと思います。
bgrif 14

1
おかげで、この提案はmouse = vの魅力のように機能します
Pamungkas Jayuda

21

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

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


あなたは神です......: ')
omerjerk

私のために働いた唯一のこと、ありがとう!
ドン

3
私にとってOSXでは、「shift」や「alt」の代わりに「fn」が機能します。
ササ


6

BharathのソリューションはShiftコピーに押すと実行されますが、番号付けやハッシュコメントの場合にコピーしたいものよりも多くコピーします。

mouse = aでもそうするための1つの方法はV、単一カーソルを押すか、フルラインハイライトを示すShift+ Vを押して視覚モードを使用することです。矢印で上下に移動し、YコピーまたはDカットに使用できます。


@Anthon、やろう、説明ありがとう。
amrx

1
私はあなたの自己発音のコメントを言い換えて、MODがおそらくそのままにしておくような答えのようにします(そして、コメントできるように、ある程度の評判を得るかもしれません)。オリジナルがよりマイナーな修正であった場合、コメントするのがより適切でした。
アントン

5

同じ問題を抱えていた:マウスを使用して強調表示できなかったため、ターミナルセッションでVIMからWindowsドキュメントおよびブラウザーにコピーアンドペーストできませんでした。

: set clipboard=unnamedplus
: set mouse=r

4

参照: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.

1
その参照を提供してくれてありがとう、しかし、それは質問答えますか?もしそうなら、実際の答えの要約を提示して、そうする引用の部分を特定できますか?
G-Manは「Reinstate Monica」と言います

0

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


0

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


0

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

  • :set mouse- = a
  • fn + click(shiftまたはaltの代わりに)

0

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

set mouse=a
set clipboard=unnamed
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.