-*pattern.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
+*pattern.txt* For Vim version 7.0aa. Last change: 2005 May 22
VIM REFERENCE MANUAL by Bram Moolenaar
are halfway a Tab or other character that occupies more than one
screen character. {not in Vi}
WARNING: When inserting or deleting text Vim does not automatically
- update the matches. This means Syntax highlighting quickly becomes
- wrong.
+ update highlighted matches. This means Syntax highlighting quickly
+ becomes wrong.
Example, to highlight the all characters after virtual column 72: >
/\%>72v.*
< When 'hlsearch' is set and you move the cursor around and make changes
EXTERN char_u e_maxmempat[] INIT(=N_("E363: pattern uses more memory than 'maxmempattern'"));
EXTERN char_u e_emptybuf[] INIT(=N_("E749: empty buffer"));
+#ifdef FEAT_EX_EXTRA
+EXTERN char_u e_invalpat[] INIT(=N_("E682: Invalid search pattern or delimiter"));
+#endif
+
#ifdef MACOS_X_UNIX
EXTERN short disallow_gui INIT(= FALSE);
#endif
vim_free(expr_copy);
return rv;
}
+
+/*
+ * Get the '=' register expression itself, without evaluating it.
+ */
+ char_u *
+get_expr_line_src()
+{
+ if (expr_line == NULL)
+ return NULL;
+ return vim_strsave(expr_line);
+}
#endif /* FEAT_EVAL */
/*
* Returns NULL for error.
*/
char_u *
-get_reg_contents(regname, allowexpr)
+get_reg_contents(regname, allowexpr, expr_src)
int regname;
- int allowexpr; /* allow "=" register. */
+ int allowexpr; /* allow "=" register */
+ int expr_src; /* get expression for "=" register */
{
long i;
char_u *retval;
if (regname == '=')
{
if (allowexpr)
+ {
+ if (expr_src)
+ return get_expr_line_src();
return get_expr_line();
+ }
return NULL;
}
:$put =string(reverse(sort(l)))
:$put =string(sort(reverse(sort(l))))
:"
+:" splitting a string to a List
+:$put =string(split(' aa bb '))
+:$put =string(split(' aa bb ', '\W\+', 0))
+:$put =string(split(' aa bb ', '\W\+', 1))
+:$put =string(split(' aa bb ', '\W', 1))
+:$put =string(split(':aa::bb:', ':', 0))
+:$put =string(split(':aa::bb:', ':', 1))
+:$put =string(split('aa,,bb, cc,', ',\s*', 1))
+:"
:endfun
:call Test(1, 2, [3, 4], {5: 6}) " This may take a while
:"