I am using a mouse with terminal-based vim (not gvim) with set mouse=a
.
I want to change the mouse cursor shape, but mouseshape
is not enabled in homebrew vim. How can I install mouseshape
-enabled vim using homebrew?
Here is part of my vim --version
output:
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jul 8 2016 21:15:30)
MacOS X (unix) version
Included patches: 1-2000
Compiled by Homebrew
Huge version without GUI. Features included (+) or not (-):
+acl +file_in_path -mouse_sysmouse -tag_any_white
+arabic +find_in_path +mouse_urxvt -tcl
+autocmd +float +mouse_xterm +termguicolors
-balloon_eval +folding +multi_byte +terminfo
-browse -footer +multi_lang +termresponse
++builtin_terms +fork() -mzscheme +textobjects
+byte_offset -gettext +netbeans_intg +timers
+channel -hangul_input +num64 +title
+cindent +iconv +packages -toolbar
-clientserver +insert_expand +path_extra +user_commands
+clipboard +job +perl +vertsplit
+cmdline_compl +jumplist +persistent_undo +virtualedit
+cmdline_hist +keymap +postscript +visual
+cmdline_info +langmap +printer +visualextra
+comments +libcall +profile +viminfo
+conceal +linebreak -python +vreplace
+cryptv +lispindent +python3 +wildignore
+cscope +listcmds +quickfix +wildmenu
+cursorbind +localmap +reltime +windows
+cursorshape +lua +rightleft +writebackup
+dialog_con +menu +ruby -X11
+diff +mksession +scrollbind -xfontset
+digraphs +modify_fname +signs -xim
-dnd +mouse +smartindent -xsmp
-ebcdic -mouseshape +startuptime -xterm_clipboard
+emacs_tags +mouse_dec +statusline -xterm_save
+eval -mouse_gpm -sun_workshop -xpm
+ex_extra -mouse_jsbterm +syntax
+extra_search +mouse_netterm +tag_binary
+farsi +mouse_sgr +tag_old_static
This isn't possible. The mouseshape
feature is only available in Windows or X11 builds, as implied in the documentation, where it discusses which shapes are available in which modes. Only Win32 and X11 appear in that list.
The mouse cursor does change shape in terminal Vim when mouse
mode is active, but you can't control it per-mode in the way you're asking about.
From :help 'mouseshape
:
The shape is one of the following: avail name looks like w x arrow Normal mouse pointer w x blank no pointer at all (use with care!) w x beam I-beam w x updown up-down sizing arrows w x leftright left-right sizing arrows w x busy The system's usual busy pointer w x no The system's usual 'no input' pointer x udsizing indicates up-down resizing x lrsizing indicates left-right resizing x crosshair like a big thin + x hand1 black hand x hand2 white hand x pencil what you write with x question big ? x rightup-arrow arrow pointing right-up w x up-arrow arrow pointing up x <number> any X11 pointer number (see X11/cursorfont.h) The "avail" column contains a 'w' if the shape is available for Win32, x for X11. Any modes not specified or shapes not available use the normal mouse pointer.