-*autocmd.txt* For Vim version 7.0g. Last change: 2006 Apr 30
+*autocmd.txt* For Vim version 7.0g. Last change: 2006 May 06
VIM REFERENCE MANUAL by Bram Moolenaar
See |:syn-on|.
*TabEnter*
TabEnter Just after entering a tab page. |tab-page|
- Before triggering the WinEnter and BufEnter
- events.
+ After triggering the WinEnter and before
+ triggering the BufEnter event.
*TabLeave*
TabLeave Just before leaving a tab page. |tab-page|
A WinLeave event will have been triggered
-*eval.txt* For Vim version 7.0g. Last change: 2006 May 05
+*eval.txt* For Vim version 7.0g. Last change: 2006 May 06
VIM REFERENCE MANUAL by Bram Moolenaar
result is a number. Use nr2char() to convert it to a String.
Otherwise a String is returned with the encoded character.
For a special key it's a sequence of bytes starting with 0x80
- (decimal: 128). The returned value is also a String when a
- modifier (shift, control, alt) was used that is not included
- in the character.
+ (decimal: 128). This is the same value as the string
+ "\<Key>", e.g., "\<Left>". The returned value is also a
+ String when a modifier (shift, control, alt) was used that is
+ not included in the character.
When {expr} is 1 only the first byte is returned. For a
- one-byte character it is the character itself.
+ one-byte character it is the character itself as a number.
+ Use nr2char() to convert it to a String.
There is no prompt, you will somehow have to make clear to the
user that a character has to be typed.
like the ":substitute" command (without any flags). But the
matching with {pat} is always done like the 'magic' option is
set and 'cpoptions' is empty (to make scripts portable).
+ 'ignorecase' is still relevant.
See |string-match| for how {pat} is used.
And a "~" in {sub} is not replaced with the previous {sub}.
Note that some codes in {sub} have a special meaning
int win_width, win_height;
int win_xpos, win_ypos;
WINDOWPLACEMENT wndpl;
+ int workarea_left;
/* Try to keep window completely on screen. */
/* Get position of the screen work area. This is the part that is not
#endif
;
+ /* There is an inconsistency when using two monitors and Vim is on the
+ * second (right) one: win_xpos will be the offset from the workarea of
+ * the left monitor. While with one monitor it's the offset from the
+ * workarea (including a possible taskbar on the left). Detect the second
+ * monitor by checking for the left offset to be quite big. */
+ if (workarea_rect.left > 300)
+ workarea_left = 0;
+ else
+ workarea_left = workarea_rect.left;
+
/* If the window is going off the screen, move it on to the screen.
* win_xpos and win_ypos are relative to the workarea. */
if ((direction & RESIZE_HOR)
- && workarea_rect.left + win_xpos + win_width > workarea_rect.right)
- win_xpos = workarea_rect.right - win_width - workarea_rect.left;
+ && workarea_left + win_xpos + win_width > workarea_rect.right)
+ win_xpos = workarea_rect.right - win_width - workarea_left;
if ((direction & RESIZE_HOR) && win_xpos < 0)
win_xpos = 0;
*/
#define VIM_VERSION_NODOT "vim70g"
#define VIM_VERSION_SHORT "7.0g"
-#define VIM_VERSION_MEDIUM "7.0g04 BETA"
-#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0g04 BETA (2006 May 5)"
-#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0g04 BETA (2006 May 5, compiled "
+#define VIM_VERSION_MEDIUM "7.0g05 BETA"
+#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0g05 BETA (2006 May 6)"
+#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0g05 BETA (2006 May 6, compiled "