OSX Área de Transferência está quebrada no Vim

3

Eu tenho o OSX ML e o Vim 7.3. Quando tento usar a área de transferência do OSX ... bem, nada acontece.

Se eu fizer "+yy , por exemplo, nada entra na área de transferência do osx. "* também não funciona, nem ex comando yaking para registrar + e *. Colar no Vim da área de transferência do OSX também não funciona.

Além disso, :set clipboard=unnamed também não funciona (supostamente para sincronizar um registro não nomeado com a área de transferência do osx). Não funciona no iTerm nem no System Terminal.

Não tenho problemas na minha caixa de Linux.

EDIT: Acabei de descobrir o meu Vim não é compilado com a área de transferência:

jan@rmbp:~$ vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jun 20 2012 13:16:02)
Compiled by [email protected]
Normal version without GUI.  Features included (+) or not (-):
-arabic +autocmd -balloon_eval -browse +builtin_terms +byte_offset +cindent 
-clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments 
-conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con +diff +digraphs 
-dnd -ebcdic -emacs_tags +eval +ex_extra +extra_search -farsi +file_in_path 
+find_in_path +float +folding -footer +fork() -gettext -hangul_input +iconv 
+insert_expand +jumplist -keymap -langmap +libcall +linebreak +lispindent 
+listcmds +localmap -lua +menu +mksession +modify_fname +mouse -mouseshape 
-mouse_dec -mouse_gpm -mouse_jsbterm -mouse_netterm -mouse_sysmouse 
+mouse_xterm +multi_byte +multi_lang -mzscheme +netbeans_intg -osfiletype 
+path_extra -perl +persistent_undo +postscript +printer -profile +python/dyn 
-python3 +quickfix +reltime -rightleft +ruby/dyn +scrollbind +signs 
+smartindent -sniff +startuptime +statusline -sun_workshop +syntax +tag_binary 
+tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title
 -toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo 
+vreplace +wildignore +wildmenu +windows +writebackup -X11 -xfontset -xim -xsmp
 -xterm_clipboard -xterm_save 
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -D_FORTIFY_SOURCE=0 -Iproto -DHAVE_CONFIG_H -arch i386 -arch x86_64 -g -Os -pipe
Linking: gcc -arch i386 -arch x86_64 -o vim -lncurses
jan@rmbp:~$ 
    
por if __name__ is None 07.07.2013 / 17:29

1 resposta

4

No Mac OS X Mountain Lion, a versão pré-instalada do vim não inclui suporte à área de transferência.

Você pode verificar isso fazendo.

vim --version | grep clipboard

Você deve ver uma linha parecida com esta

-clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments 
-xterm_clipboard -xterm_save 

O -clipbaord significa que o vim não é compilado com o suporte da área de transferência.

A solução mais fácil para isso é usar o MacPorts (ou seu gerenciador de pacotes favorito) e instalar o vim através dele

OR

instale o MacVim. MacVim é o equivalente de gvim do Mac. Ele também vem com um script chamado mvim que tem um sinalizador que permite usar a linha de comando vim que vem com o MacVim. O comando é mvim -v

Então você pode alias mvim -v to vim . (Você pode colocar isso no seu .bashrc)

alias vim='mvim -v'
    
por 07.07.2013 / 17:52