X-Spam-Check-By: sourceware.org Date: Sun, 18 Dec 2005 03:57:05 -0800 (PST) From: Mariusz Wodzicki Message-Id: <200512181157.jBIBv57s026787@yuban.math.berkeley.edu> To: cygwin AT cygwin DOT com Subject: vim binary package Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com The Cygwin vim binary package is regularly being compiled with keymap support turned off. I doubt that this omission is deliberate; more likely it results from running ./configure with flags something like: ./configure --disable-xsmp --disable-gui --without-x which is equivalent to: ./configure --with-features=normal --disable-xsmp --disable-gui --without-x My guess is corroborated by the fact that the binary package still installs the directory /usr/share/vim/vim64/keymap which contains 42 keymaps. They are worse than useless in this situation: their presencce is simply confusing for any user of vim who knows what they are for. -------- The latest binary vim-6.4-3 package after having been installed on my Thinkpad took 13836 Kb of space. I uninstalled it and then compiled the source package from the *same* Cygwin release of vim with the configure flags: ./configure --with-features=huge --disable-xsmp --disable-gui --without-x After `make install' the total size of the vim installed on my Thinkpad is: 13412 Kb which is even slightly less. Here is the list of features of the binary package: VIM - Vi IMproved 6.4 (2005 Oct 15, compiled Oct 21 2005 13:43:01) Compiled by corinna AT cathi 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 +cryptv -cscope +dialog_con +diff +digraphs -dnd -ebcdic -emacs_tags +eval +ex_extra +extra_search -farsi +file_in_path +find_in_path +folding -footer +fork() +gettext -hangul_input +iconv +insert_expand +jumplist -keymap -langmap +libcall +linebreak +lispindent +listcmds +localmap +menu +mksession +modify_fname +mouse -mouseshape -mouse_dec -mouse_gpm -mouse_jsbterm -mouse_netterm +mouse_xterm +multi_byte +multi_lang -netbeans_intg -osfiletype +path_extra -perl +postscript +printer -python +quickfix -rightleft -ruby +scrollbind -signs +smartindent -sniff +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. -Iproto -DHAVE_CONFIG_H -g -O2 Linking: gcc -L/usr/local/lib -o vim.exe -lncurses -liconv -lintl For comparison, the list of features of the vim that I compiled from the source package: Compiled by Mariusz AT ibm-b08qdbvcs03 Huge 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 +cryptv +cscope +dialog_con +diff +digraphs -dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path +folding -footer +fork() +gettext -hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap +menu +mksession +modify_fname +mouse -mouseshape +mouse_dec -mouse_gpm -mouse_jsbterm +mouse_netterm +mouse_xterm +multi_byte +multi_lang -netbeans_intg -osfiletype +path_extra -perl +postscript +printer -python +quickfix +rightleft -ruby +scrollbind +signs +smartindent -sniff +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/local/share/vim" Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 Linking: gcc -L/usr/local/lib -o vim.exe -lncurses -liconv -lintl There are obviously more features, but I care particularly about the `keymap' feature: it is absolutely essential for anybody editing multilingual documents with vim! I suppose regular users of vim under Cygwin have been using it, and are likely continuing to use it in other environments (Linux/Unix/Win32, etc), because vim is either natively avalable or easily installable for most operating systems with nearly identical usage. That means that those of us who regularly edit multilingual documents with vim are likely to rely on the vim keymap mechanism. And the same mechanism, the same keymaps can be used in difeerent environmenets. This mechanism allows switching keyboard mappings on the go with just one keystroke, whwther in insert mode or in command mode. It can be very useful even when no GUI version of vim has been compiled. I tested it in uxterm windows on utf-8 encoded documents containing English, French, German, Polish, and Russian, using the version of vim I compiled. It works beautifully! So, my strong recommendation to the Cygwin Team: enable the keymap feature in the binary package! (or at least remove the keymap directory from the vim binary package not to confuse people). --------- Incidentally, I also tested the version with the GUI [just one configure flag: ./configure --with-features=huge] This produces a GUI vim that is linked against (Cygwin) gtk+/gtk2-x11 libraries (if you previously installed them as I did), has a full freetype support, and contrary to the reports I have seen on the net, it compiled without glitches, passed all the tests (generated by `make test'), and most importantly, worked very nicely for me! Of course, that increases the size of the vim installation dramatically but that may be interesting for those of us who prefer not to install a separate Win32 version of vim. The more serious problem is that when the X server is not running then the version of vim linked with X libraries takes on average around 10 seconds to start in either a pcterm or an rxvt window. When the X server is up, then everywhere, including in rxvt windows that are not aware of X running, vim starts briskly. I am just curious if anybody can suggest a cure for that behavior. Then compiling vim with GUI might indeed become a viable option. Mariusz Wodzicki -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/