マウス(:set mouse = a)がオンの場合、vimのコピーアンドペーストが機能しませんか?

vimから別のアプリケーションにコピーアンドペーストしようとしていました。また、そのアプリケーションからvimを使用してマウスで右クリックし、コピーして貼り付けます(または、 Ctrl + v Ctrl + c を使用して試してみました明らかに、macOSX用のコマンドバージョンです。)ただし、実行しようとすると、vimから実行した場合、またはアプリケーションからvim、すべてをコピーしますが、奇妙なタブとスペースを挿入します。これは、ターミナルでマウスをオンにすることにしたときに起こったと思います。例:

:set mouse=a 

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

:set mouse!:set mouse=a!しかし、これらは何の役にも立ちませんでした… 🙁


私の環境の追加情報:

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

コメント

  • vimは、y動詞を使用してプライマリセレクションにうまくヤンクできます。'わかりません'それを使用しない理由
  • '私は'その方法がわからないので、無能であることをお詫びします。'あなたが言及するまで、それが存在することすら知りませんでした。知識!:)
  • これは macvim ですか?
  • いいえ、それはiTermだけではありません(質問で述べたように、しかし良い質問です)。
  • @ Pinocchio-ここを見てください:方法システム'のクリップボードからvimを貼り付ける(およびコピーする)には?

回答

mouse=aは、vimから読み取り可能な文字をコピーして貼り付ける機能を防ぎます。

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

疑問に思っているのは、マウスをmouse = aに設定してvimの設定ファイルを変更しているのですか?

元の回答^

もしmouse=rでは、過去のすべてのコピーオプションが表示されるわけではありません。mouse=v

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

コメント

  • また、テキストを強調表示し、マウスの中ボタンを使用して別の場所に貼り付けようとしました。これは、Ctrl + vおよびCtrlを試してみるとうまくいく傾向があります。 + c
  • 'あなたの質問の意味がわかりません:one thing I am wondering is, are you changing the config file for your vim with the mouse set to mouse=a?あなたが

がオンになっていますか?.vimrcファイルファイルに:mouse=aがあります。

  • --with-x=yes:set --with-x=yes mouse=aなどを入力する必要はありませんing?意味を明確にしていただけますか?
  • --with-x=yesset mouse=aに組み合わせる必要があるかどうかを調べてみましょう。私がそれを読んでいたとき、私が見たのはそれ自体が設定ファイルにあるということだけでした。しかし、それは異なる可能性があるので、あなたに役立つ正しいことを確実に伝えたいと思います。
  • どうもありがとう、この提案はmouse = vの魅力のように機能します
  • 回答

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

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

    コメント

    • あなたは神です… …:')
    • 私のために働いた唯一のこと、ありがとう!
    • OSXで私のために働いたivid = " shift "または<の代わりに "bdb0b47e1f">

    fn " div id = “bdb0b47e1f”>

    alt "。

  • mouse=vの設定はストレートcmd + c
  • <でうまくいきましたh2>回答

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

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

    これは機能し、これを回答として受け入れたスタックオーバーフローのレビュー担当者によって検証されています:)

    回答

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

    : set clipboard=unnamedplus : set mouse=r 

    回答

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

    mouse = a でもこれを行う1つの方法は、ビジュアルモードを使用することです。 V を押すと単一カーソルになり、 Shift + V を押すと全行が強調表示され、矢印で上下に移動して Yを使用できます。 をコピーするか、 D をカットしてth

    コメント

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

    回答

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

    コメント

    • その参照を提供していただきありがとうございますが、 、質問に答えます?もしそうなら、実際の答えの要約を提示して、そうする引用の部分を特定できますか?

    答え

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

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

    回答

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

    set mouse=a set clipboard=unnamed 

    回答

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

    回答

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

    回答

    追加する2つのこと:

    1. 何度も注意してくださいset mouse=vは、 .vimrcファイルで前後に設定した他のディレクティブは、vimを実行している端末によっても異なります。

    で、すべてのマウスモードを同時に有効にし、中マウスを使用して強調表示されたテキストを貼り付ける必要がある場合は、Shiftキーを押しながら@BHSによって提案されたトリックを使用してテキストを強調表示しますボタン( set mouse=aを有効にしてVimの外部にテキストをコピーする)。

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です