LoginSignup
15
14

More than 5 years have passed since last update.

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

Last updated at Posted at 2013-11-04
  • 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
15
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
14