Help us understand the problem. What is going on with this article?

Vimでヤンクした内容がクリップボードに反映されない

More than 5 years have passed since last update.
  • Vimのvモードでヤンクした内容がクリップボードに反映されない。
    通常モードでの「nyy※」(※nは行数)、vモードでの"command+c"なども試してみたがダメだった。

  • 他アプリでコピーした内容はVimにペースト可能。貼付け後はVimのレジスタで見る事もできる。

  • マウスを使って選択すると、Vim上の文字列を"command+c"でクリップボードにコピーできる。

まずは状況確認

$ vim --version | grep clipboard
+clipboard       +iconv           +path_extra      -toolbar
+eval            +mouse_dec       +startuptime     +xterm_clipboard
.vimrc
set clipboard=unnamed 

先人たちの教えによれば、+clipboard、+xterm_clipboardであれば、アプリからVimへ、Vimからアプリへクリップボードを介してコピペできるはずなのですが……。

なお、.vimrcに関しては、他の設定値も色々と試してみたが、いずれもクリップボードにコピーできなかった。

-toolbarが怪しいよね?

と、思ったのだが、まず、このtoolbarはどうビルドすれば有効化されるのかがわからない。
グーグル先生と相談してみた所、次の様な情報が見つかった。

Vim's Versions and Features

どうやら、toolbarが関係あるのはGUIオンリーの模様。
早くも行き詰まってしまった。

またお前か、MacPorts。

どーしよーかなーと電子の海を彷徨っていると、以下の様な情報が。

"#5"
MacPorts を使用している場合、経由でのクリップボードのサポートを含めるには、VIM をアップグレードできます。
ポートは vim + x + x 11 をインストールします。
引用元

……試してみる。

% sudo port install vim +x +x11

で、できたぁぁぁああああああっ!!!!!
エキサイト翻訳を通した様な本文ですが、気にしない、気にしない。
結果が大事。

結論

"command+c"ではダメですが、通常モードでも、vモードでも、ヤンクした内容がクリップボードにコピーできます。
マウスによる選択でも、作業前と同じくコピーできました。

色々といじったので、最終的に関係ありそうな情報を掲載しておきます。

簡易版
$ vim --version | grep clipboard
+clipboard       +iconv           +path_extra      -toolbar
+eval            +mouse_dec       +startuptime     +xterm_clipboard
.vimrc
set clipboard+=unnamedplus,unnamed

おまけで。

全部版
$ vim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Nov  4 2013 17:54:27)                                                                                                                    
MacOS X (unix) 版
適用済パッチ: 1-52
Compiled by Nyahaaaaan@Nyahaaaaan
Huge 版 without GUI.  機能の一覧 有効(+)/無効(-)
+acl             +cmdline_hist    -dnd             -footer          +lispindent      -mouse_jsbterm   -perl            +scrollbind      -tcl             +viminfo         -xterm_save
+arabic          +cmdline_info    -ebcdic          +fork()          +listcmds        +mouse_netterm   +persistent_undo +signs           +terminfo        +vreplace        -xpm
+autocmd         +comments        +emacs_tags      +gettext         +localmap        +mouse_sgr       +postscript      +smartindent     +termresponse    +wildignore
-balloon_eval    +conceal         +eval            -hangul_input    -lua             -mouse_sysmouse  +printer         -sniff           +textobjects     +wildmenu
-browse          +cryptv          +ex_extra        +iconv           +menu            +mouse_urxvt     +profile         +startuptime     +title           +windows
++builtin_terms  -cscope          +extra_search    +insert_expand   +mksession       +mouse_xterm     -python          +statusline      -toolbar         +writebackup
+byte_offset     +cursorbind      +farsi           +jumplist        +modify_fname    +multi_byte      -python3         -sun_workshop    +user_commands   -X11
+cindent         +cursorshape     +file_in_path    +keymap          +mouse           +multi_lang      +quickfix        +syntax          +vertsplit       -xfontset
-clientserver    +dialog_con      +find_in_path    +langmap         -mouseshape      -mzscheme        +reltime         +tag_binary      +virtualedit     -xim
+clipboard       +diff            +float           +libcall         +mouse_dec       +netbeans_intg   +rightleft       +tag_old_static  +visual          -xsmp
+cmdline_compl   +digraphs        +folding         +linebreak       -mouse_gpm       +path_extra      -ruby            -tag_any_white   +visualextra     -xterm_clipboard
      システム vimrc: "/opt/local/etc/vimrc"
        ユーザ vimrc: "$HOME/.vimrc"
     第2ユーザ vimrc: "~/.vim/vimrc"
         ユーザ exrc: "$HOME/.exrc"
       省略時の $VIM: "/opt/local/share/vim"
コンパイル: /usr/bin/clang -c -I. -Iproto -DHAVE_CONFIG_H   -I/opt/local/include -DMACOS_X_UNIX -no-cpp-precomp  -pipe -Os -arch x86_64 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
リンク: /usr/bin/clang   -L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64 -L/usr/local/lib -o vim        -lm  -lncurses -liconv -lintl -framework Cocoa
megane814
なんちゃって組み込みエンジニア。下回りの仕事ができる日を目指して頑張るっす。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away