如何在自制的vim中启用mouseshape?

时间:2016-07-09 01:22:53

标签: vim mouse-cursor

我使用的是基于终端的vim(不是gvim)和set mouse=a的鼠标。

我想更改鼠标光标形状,但在homebrew vim中未启用mouseshape。如何使用自制软件安装mouseshape启用的vim?

以下是我的vim --version输出的一部分:

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  

1 个答案:

答案 0 :(得分:1)

这是不可能的。 mouseshape功能仅在Windows或X11版本中可用,如文档中所暗示的那样,它讨论哪些模式可用的形状。只有Win32和X11出现在该列表中。

mouse模式处于活动状态时,鼠标光标确实会在终端Vim中改变形状,但是无法按照您要求的方式控制每个模式。

来自: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.