*various.txt* For Vim version 5.0j. Last modification: 1997 May 9 VIM REFERENCE MANUAL by Bram Moolenaar Various commands *various* 1. Various commands |various-cmds| 2. Online help |online_help| ============================================================================== 1. Various commands *various-cmds* *CTRL-L* CTRL-L Clear and redraw the screen. *N* When entering a number: Remove the last digit. Note: if you like to use for this, add this mapping to your .vimrc: :map CTRL-V CTRL-V See |:fixdel| if your key does not do what you want. :as[cii] or *ga* *:as* *:ascii* ga Print the ascii value of the character under the cursor in decimal, hexadecimal and octal. For example, when the cursor is on a 'R': 82, Hex 52, Octal 122 When the character is a non-standard ASCII character, but printable according to the 'isprint' option, the non-printable version is also given. When the character is larger than 127, the form is also printed. For example: <~A> 129, Hex 81, Octal 201

<|~> 254, Hex fe, Octal 376 (where

is a special character) The character in a file is stored internally as , but it will be shown as: <^@> 0, Hex 00, Octal 000 Mnemonic: Get Ascii value. {not in Vi} *:p* *:print* :[range]p[rint] Print [range] lines (default current line). :[range]p[rint] {count} Print {count} lines, starting with [range] (default current line |cmdline_ranges|). *:l* *:list* :[range]l[ist] [count] Same as :print, but display unprintable characters with '^'. *:nu* *:number* :[range]nu[mber] [count] Same as :print, but precede each line with its line number. (See also 'highlight' option). *:#* :[range]# [count] synonym for :number. *:z* :{range}z[+-^.=]{count} Display several lines of text surrounding the line specified with {range}, or around the current line if there is no {range}. If there is a {count}, that's how many lines you'll see; otherwise, the current window size is used. :z can be used either alone or followed by any of several punctuation marks. These have the following effect: mark first line last line new location ---- ---------- --------- ------------ + current line 1 scr forward 1 scr forward - 1 scr back current line current line ^ 2 scr back 1 scr back 1 scr back . 1/2 scr back 1/2 scr fwd 1/2 src fwd = 1/2 src back 1/2 scr fwd current line Specifying no mark at all is the same as "+". If the mark is "=", a line of dashes is printed around the current line. *:=* := Print the cursor line number. :norm[al][!] {commands} *:norm* *:normal* Execute Normal mode commands {commands}. This makes it possible to execute Normal mode commands typed on the command line. {commands} is executed like it is typed. For undo all commands are undone together. If the [!] is given, mappings will not be used. {commands} should be a complete command. If {commands} does not finish a command, more characters need to be typed, but the display isn't updated while doing this. Mostly useful for autocommands. This command cannot be followed by another command, since any '|' is considered part of the command. Hint: If the {commands} ends in an , Vim may think it's the start of a function key, and 'ttimeout' will apply, which makes things very slow, or even wait indefenitely for anything to be typed. Include the [!] in this case. {not in Vi, of course} :{range}norm[al][!] {commands} *:normal-range* Execute Normal mode commands {commands} for each line in the {range}. Before executing the {commands}, the cursor is positioned in the first column of the range, for each line. Otherwise it's the same as the ":normal" command without a range. {not in Vi} *:sh* *:shell* :sh[ell] This command starts a shell. When the shell exits (after the "exit" command) you return to Vim. The name for the shell command comes from 'shell' option. Note: This doesn't work when Vim on the Amiga was started in QuickFix mode from a compiler, because the compiler will have set stdin to a non-interactive mode. *:!cmd* *:!* :!{cmd} Execute {cmd} with the shell. See also the 'shell' and 'shelltype' option. Any '!' in {cmd} is replaced with the previous external command (see also 'cpoptions'). But not when there is a backslash before the '!', then that backslash is removed. Example: ":!ls" followed by ":!echo ! \! \\!" executes "echo ls ! \!". After the command has been executed, the timestamp of the current file is checked |timestamp|. Also see |shell_window|. *:!!* :!! Repeat last ":!{cmd}". *:ve* *:version* :ve[rsion] Print the version number of the editor. If the compiler used understands "__DATE__" the compilation date is mentioned. Otherwise a fixed release-date is shown. The following lines contain information about which options were defined when Vim was compiled. :ve[rsion] {nr} Is now ignored. This was previously used to check the version number of a .vimrc file. It was removed, because you can now use the ":if" command for version-dependend behaviour. {not in Vi} *K* K Run a program to lookup the keyword under the cursor. The name of the program is given with the 'keywordprg' (kp) option (default is "man"). The keyword is formed of letters, numbers and the characters in 'iskeyword'. The keyword under or right of the cursor is used. The same can be done with the command ":!{program} {keyword}". There is an example of a program to use in the tools directory of Vim. It is called 'ref' and does a simple spelling check. Special cases: - If 'keywordprg' is empty, the ":help" command is used. It's a good idea to include more characters in 'iskeyword' then, to be able to find more help. - When 'keywordprg' is equal to "man", a count before "K" is inserted after the "man" command and before the keyword. For example, using "2K" while the cursor is on "mkdir", results in: !man 2 mkdir {not in Vi} *v_K* {Visual}K Like "K", but use the visually highlighted text for the keyword. Only works when the highlighted text is not more than one line. {not in Vi} [N]gs *gs* *:sl* *:sleep* :[N]sl[eep] [N] Do nothing for [N] seconds. Can be interrupted with CTRL-C (CTRL-Break on MS-DOS). "gs" stands for "goto sleep". While sleeping the cursor is positioned in the text (if visible). {not in Vi} ============================================================================== 2. Online help *online_help* *help* ** *:h* *:help* ** *i_* *i_* or :h[elp] Split the window and display the help file in read-only mode. If there is a help window open already, use that one. {not in Vi} :h[elp] {subject} Like ":help", additionally jump to the tag {subject}. {subject} can be a pattern |pattern|. :help z. jump to help for any "z" command :help z\. jump to the help for "z." If there is no full match for the pattern, or there are several matches, the "best" match will be used. A match is considered to be better when: - if no match with same case is found, a match with ignoring case will be used - the match is after a non-alphanumereic character - it is at near the beginning of the tag - more alphanumeric characters match - the length of the matched is smaller Note that the longer the {subject} you give, the less matches will be found. You can get an idea how this all works by using commandline completion (type CTRL-D after ":help subject". {not in Vi} The help file name can be set with the 'helpfile' option. The initial height of the help window can be set with the 'helpheight' option (default 20). Jump to specific subjects by using tags. This can be done in two ways: - Use the "CTRL-]" command while standing on the name of a command or option. This only works when the tag is a keyword. "" and "g" work just like "CTRL-]". - use the ":ta {subject}" command. This works with all characters. Use "CTRL-T" to jump back. Use ":q" to close the help window. *help_xterm_window* If you want to have the help in another xterm window, you could use this command: :!xterm -e vim +help & vim:tw=78:ts=8:sw=8: