Search code examples
vimcygwin

How did cygwin compile vim to enable clipboard support while without gui and x


Following is vim 7.4

$ vim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jun 22 2014 14:31:17)
...
<[email protected]>


+acl             +farsi           +mouse_netterm   +syntax
+arabic          +file_in_path    +mouse_sgr       +tag_binary
+autocmd         +find_in_path    -mouse_sysmouse  +tag_old_static
-balloon_eval    +float           +mouse_urxvt     -tag_any_white
-browse          +folding         +mouse_xterm     -tcl
++builtin_terms  -footer          +multi_byte      +terminfo
+byte_offset     +fork()          +multi_lang      +termresponse
+cindent         +gettext         -mzscheme        +textobjects
-clientserver    -hangul_input    +netbeans_intg   +title
+clipboard       +iconv           +path_extra      -toolbar
+cmdline_compl   +insert_expand   +perl/dyn        +user_commands
+cmdline_hist    +jumplist        +persistent_undo +vertsplit
+cmdline_info    +keymap          +postscript      +virtualedit
+comments        +langmap         +printer         +visual
+conceal         +libcall         +profile         +visualextra
+cryptv          +linebreak       +python/dyn      +viminfo
+cscope          +lispindent      +python3/dyn     +vreplace
+cursorbind      +listcmds        +quickfix        +wildignore
+cursorshape     +localmap        +reltime         +wildmenu
+dialog_con      +lua/dyn         +rightleft       +windows
+diff            +menu            +ruby/dyn        +writebackup
+digraphs        +mksession       +scrollbind      -X11
-dnd             +modify_fname    +signs           -xfontset
-ebcdic          +mouse           +smartindent     -xim
+emacs_tags      -mouseshape      -sniff           -xsmp
+eval            +mouse_dec       +startuptime     -xterm_clipboard
+ex_extra        -mouse_gpm       +statusline      -xterm_save
+extra_search    -mouse_jsbterm   -sun_workshop    -xpm

Note that the clipboard support is enabled, which I find is greatly convenient for me to exchange text between windows and the terminal. And in my server with Fedora installed, I just want to compile a vim with the same clipboard support. Is it possible and if it is, how?

Here is some ref that may help.

https://groups.google.com/forum/#!topic/vim_dev/rIFYgTrsys4

https://bugs.launchpad.net/ubuntu/+source/vim/+bug/837882

https://superuser.com/questions/235505/compiling-vim-with-xterm-clipboard-support

http://kowalcj0.wordpress.com/2013/11/19/how-to-compile-and-install-latest-version-of-vim-with-support-for-x11-clipboard-ruby-python-2-3/


Solution

  • Clipboard access is done through totally different APIs in Cygwin and Linux, that's why. The Cygwin port of Vim uses (either Cygwin or Win32; haven't checked in detail) APIs to access the Windows clipboard. Whereas on Unix, clipboard access is only possible when Vim is compiled with support for X (as is widely documented, and you've discovered).

    So, just because the strange operating system-hybrid named Cygwin is able to access the (Windows!) clipboard without X, you cannot conclude that the same should be possible on Unix.