-*usr_41.txt* For Vim version 7.0. Last change: 2007 Apr 26
+*usr_41.txt* For Vim version 7.1a. Last change: 2007 Apr 26
VIM USER MANUAL - by Bram Moolenaar
:execute cmd |" do it
With the '|' character the command is separated from the next one. And that
-next command is only a comment.
+next command is only a comment. For the last command you need to do two
+things: |:execute| and use '|': >
+ :exe '!ls *.c' |" list C files
Notice that there is no white space before the '|' in the abbreviation and
mapping. For these commands, any character until the end-of-line or '|' is
:map <F4> o#include
-To avoid these problems, you can set the 'list' option when editing vimrc
+To spot these problems, you can set the 'list' option when editing vimrc
files.
+For Unix there is one special way to comment a line, that allows making a Vim
+script executable: >
+ #!/usr/bin/env vim -S
+ echo "this is a Vim script"
+ quit
+
+The "#" command by itself lists a line with the line number. Adding an
+exclamation mark changes it into doing nothing, so that you can add the shell
+command to execute the rest of the file. |:#!| |-S|
+
PITFALLS
/*
* Handling of SIGHUP, SIGQUIT and SIGTERM:
- * "when" == a signal: when busy, postpone, otherwise return TRUE
- * "when" == SIGNAL_BLOCK: Going to be busy, block signals
- * "when" == SIGNAL_UNBLOCK: Going wait, unblock signals
+ * "when" == a signal: when busy, postpone and return FALSE, otherwise
+ * return TRUE
+ * "when" == SIGNAL_BLOCK: Going to be busy, block signals
+ * "when" == SIGNAL_UNBLOCK: Going to wait, unblock signals, use postponed
+ * signal
* Returns TRUE when Vim should exit.
*/
int
eof = tag_fgets(lbuf, LSIZE, fp);
if (!eof && search_info.curr_offset != 0)
{
+ /* The explicit cast is to work around a bug in gcc 3.4.2
+ * (repeated below). */
search_info.curr_offset = ftell(fp);
if (search_info.curr_offset == search_info.high_offset)
{