When data is received from system services it replaces the current
selection. The current implementation is a bit naive in that it assumes
that Vim is in Visual mode (it doesn't even work in Select mode). (To
test this functionality: enter "2+3", select it, then hit Cmd-* and the
selection is replaced with "5".)
Symlinks to "mex" or "gex" starts MacVim in ex mode. Symlinks to "ex"
starts Vim in ex mode (no GUI). Symlinks to "rmvim" (or "rgvim" which
was already supported previous to this patch) starts MacVim in
restricted mode.
Only add backend connection to event tracking mode when it is absolutely
needed. At the moment this happens when the window is in "live resize"
or when the mouse button is held on some part of a scroller.
This reverts the following three commits:
3ae360ddb38dd49e9392aad7a70f0f31a30849ee
007bb96eb3ec035169510caa4e206ab901e4b6d0
b6c06f31be1e8124ed12cc2ff5361752df1e4634
Ensure that the window fits on screen when the window is resized to fit
the content. This should fix a problem where the window would not be
flush with the menu bar when "set lines=999" was added to .gvimrc.
Ensure that the window size isn't larger than the visible frame of the
current screen. This avoids problems where the window would "snap back"
immediately after being resized manually.
When computing the zoomed window frame ensure that it is constrained to
hold an even number of rows and columns. This fixes a problem where the
window would not "un-zoom" after being zoomed.
Putting this key into the Info.plist file turns on the basic AppleScript
support Cocoa provides. Doing so allows MacVim to receive some basic
events. This gives MacVim a bit better integration into Mac OS X.
Below is an example which, when placed in one's .vimrc file, causes the
window to be zoomed during startup.
let script='osascript -e "tell application \"MacVim\""'
\ . ' -e "set zoomed of first window to true"'
\ . ' -e "end tell"'
au VIMEnter * call system(script)
Added a buffer local option called 'macmeta' which when set causes
MacVim not to interpret option+key presses thus enabling the user to
bind to <M-..>. Also updated the documentation and added 'macmeta' to
the .vim syntax file.
Sanity check input to gui_macvim_draw_string(); it can happen that 'len'
is non-zero even though first byte of 's' is NUL (test case with file
containing Chinese characters).
Adds possibility to make the left Ctrl, Alt, or Cmd key function as a
second Esc key. The key will still function as a modifier if held down
in conjunction with another key. Enable by setting the user default
"MMFakeEscModifier" to:
1 = Left Ctrl
2 = Left Alt
3 = Left Cmd
any other number disables this functionality
By remapping Caps-Lock to one of the above modifier keys this enables
the use of Caps-Lock as a second (and easy to reach) Esc key. Caps-Lock
can be remapped inside "System Preferences -> Keyboard & Mouse ->
Modifier Keys...".
The Esc event is sent when the modifier key is released. If the key is
not released within a predefined timeout, then no Esc event is
generated. The timeout can be changed by setting the user default
MMFakeEscTimeout (a float, specifying the timeout in seconds).
The fact that the Esc event is sent on release makes it feel somewhat
sluggish. It is possible to have the event sent when the modifier key
is pressed by setting the user default "MMFakeEscOnKeyDown" but then the
left modifier key can only be used as an Esc key.
Keyboard input is not dropped, unless the input was received due to a
key being automatically repeated (as a consequence of the key being held
down). This way characters are never dropped while typing, but it also
avoids situations where the screen doesn't stop scrolling immediately
when "j" is released after being held.