JohnBeckett (talk | contribs) (Add Feb archive) |
JohnBeckett (talk | contribs) (Archive of new edition, repeats 200806,07.) |
||
(40 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
+ | __NOEDITSECTION__ |
||
− | '''This is an archive of the ''Did you know?'' section on the [[ |
+ | <big>'''This is an archive of the ''Did you know?'' section on the [[Vim Tips Wiki|home page]]'''</big> |
− | + | We occasionally replace the DYK section on the [[Vim Tips Wiki|home page]], and items are copied to here so anyone interested can browse them. |
|
− | To discuss suggestions for new items, please edit the [[Talk:Did you know|talk page]]. |
+ | '''To discuss suggestions for new items, please edit the [[Talk:Did you know|talk page]].''' |
− | == |
+ | ==July 2012== |
+ | *The [http://vimhelp.appspot.com/vim_faq.txt.html Vim FAQ] is online. |
||
⚫ | |||
+ | *There are several methods to [[VimTip224|change the indentation of a block of lines]]. |
||
− | *To insert the [[VimTip11|next matching word]], press Ctrl-N. |
||
+ | *A mapping can change the Home key to [[VimTip315|move to the first character, or the first that is nonblank]]. |
||
+ | *Filtering and redirection can [[VimTip374|capture output from Vim or external programs]]. |
||
+ | *It's easy to [[VimTip431|change between backslash and forward slash]] in a file path. |
||
+ | *If you create your own tags file, you can [[VimTip601|jump to the correct line ''and'' column]]. |
||
+ | *If you work with many files, it's easy to [[VimTip652|save them all with <tt>:wa</tt> or <tt>:xa</tt>]]. |
||
+ | *Simple substitutes or a Perl script can [[VimTip1005|convert text using HTML entities like <tt>&gt;</tt>]]. |
||
+ | *The command <tt>:g/^/exe ".w ".line(".").".txt"</tt> [[VimTip1059|saves each line in the buffer to a separate file]]. |
||
+ | *<tt>:g//</tt> [[VimTip1063|lists all lines containing the last search pattern]], and :redir will capture the results. |
||
+ | *With <tt>set browsedir=buffer</tt> the File, Open dialog [[VimTip753|defaults to the current file's directory]]. |
||
+ | |||
+ | ==May 2010== |
||
+ | *<tt>@:</tt> will [[VimTip990|repeat a colon (Ex) command]] (and <tt>@@</tt> will repeat again). |
||
+ | *You can use <tt>:g/^\s*$/;//-1sort</tt> to [[VimTip1118|sort each block of lines in a file]]. |
||
+ | *It's useful to <tt>map . .`[</tt> to [[VimTip1142|repeat the last command and put the cursor at start of change]]. |
||
+ | *You can [[VimTip306|open a web browser with the URL in the current line]]. |
||
+ | *With <tt>--remote-send</tt> you can [[VimTip309|close a Vim you left open remotely]]. |
||
+ | *If you're used to Perl regex, you can [[VimTip393|use Perl compatible regular expressions]]. |
||
+ | *In insert mode, Ctrl-Y inserts the character above. You can [[VimTip428|make it insert the word above]]. |
||
+ | *A user-defined command can [[VimTip1235|evaluate <tt>:Calc sin(pi/2)</tt>]]. |
||
+ | *It's sometimes better to [[VimTip406|''not'' use the slash delimiter for <tt>:s/old/new/</tt>]]. |
||
+ | *You can [[VimTip413|drag & drop one or more files into gvim]]. |
||
+ | |||
+ | ==April 2010== |
||
⚫ | |||
⚫ | |||
⚫ | |||
+ | *A tricky search can [[VimTip220|find text that does ''not'' match]]. |
||
+ | *Pressing <tt>%</tt> [[VimTip6|jumps to a matching bracket]], and <tt>matchit.vim</tt> can match much more. |
||
+ | *The <tt>shortmess</tt> and <tt>cmdheight</tt> options allow you to [[VimTip16|avoid "Hit Enter to continue" prompts]]. |
||
+ | *An option controls [[VimTip17|how backspace and other delete keys work in insert mode]]. |
||
+ | *You can [[VimTip19|display line numbers and change the width of the number column]]. |
||
+ | *It's easy to [[VimTip49|change text between lowercase and UPPERCASE]]. |
||
+ | *The command history allows you to [[VimTip45|repeat several commands, possibly after editing them]]. |
||
+ | |||
+ | ==March 2010== |
||
+ | *[http://www.derekwyatt.org/vim/vim-tutorial-videos/ Vim tutorials] has videos illustrating simple and advanced topics. |
||
*Use <tt>%</tt> to jump to the [[VimTip6|matching bracket]], and more. |
*Use <tt>%</tt> to jump to the [[VimTip6|matching bracket]], and more. |
||
⚫ | |||
⚫ | |||
*Use <tt>:lcd %:p:h</tt> to [[VimTip64|change directory]] to the file in the current window. |
*Use <tt>:lcd %:p:h</tt> to [[VimTip64|change directory]] to the file in the current window. |
||
*<tt>ga</tt> shows the [[VimTip67|ascii value]] of the current character. |
*<tt>ga</tt> shows the [[VimTip67|ascii value]] of the current character. |
||
⚫ | |||
*You can [[VimTip1300|list changes]] to the current file, even old changes. |
*You can [[VimTip1300|list changes]] to the current file, even old changes. |
||
− | *[[VimTip1326|Non-US keyboards]] have lots of useful keys for normal-mode mappings. |
||
*Use <tt>za</tt> to [[VimTip1330|toggle folds open/closed]]. |
*Use <tt>za</tt> to [[VimTip1330|toggle folds open/closed]]. |
||
+ | *The status line can show your [[VimTip735|fileencoding and bomb]]. |
||
⚫ | |||
+ | *In a program, you can [[VimTip7|jump to the beginning or end of a code block]]. |
||
+ | *With two related files in a vertical split, you can [[VimTip52|scroll both windows together]]. |
||
+ | *It's easy to [[VimTip689|count the words in a file or block]]. |
||
+ | *You can even make a frequency table [[VimTip1531|counting the occurrences of each word]]! |
||
+ | |||
+ | ==February 2010== |
||
+ | *[http://www.derekwyatt.org/vim/vim-tutorial-videos/ Vim tutorials] has videos illustrating simple and advanced topics. |
||
⚫ | |||
⚫ | |||
+ | *After typing a couple of characters, you can [[VimTip4|complete a word]] with Ctrl-N or Ctrl-P. |
||
+ | *[[VimTip882|Vim's help]] use prefixes like <tt>v_</tt> (visual mode) to show the context. |
||
+ | *The [[VimTip1520|<tt>:let</tt> command]] can set registers and options as well as variables. |
||
+ | *The command <tt>:42</tt> [[VimTip751|jumps to line 42]], as does typing <tt>42G</tt>. |
||
+ | *The <tt>shortmess</tt> and <tt>cmdheight</tt> options allow you to [[VimTip16|avoid "Hit Enter to continue" prompts]]. |
||
+ | *The <tt>'backspace'</tt> option controls [[VimTip17|how backspace and other delete keys work in insert mode]]. |
||
+ | *The <tt>'number'</tt> and <tt>'numberwidth'</tt> options control the [[VimTip19|display of line numbers]]. |
||
+ | *It's easy to [[VimTip49|change text between lowercase and UPPERCASE]]. |
||
+ | |||
+ | ==January 2010== |
||
+ | *[http://www.derekwyatt.org/vim/vim-tutorial-videos/ Vim tutorials] has videos illustrating simple and advanced topics. |
||
+ | *We have an explanation for how <tt>:g/^/m0</tt> [[VimTip29|reverses all lines]]. |
||
+ | *In a search pattern, <tt>\_s</tt> [[VimTip242|matches]] a space or tab or newline character. |
||
+ | *A script can use a test like <tt>&buftype == "quickfix"</tt> to check if it is operating in the [[VimTip536|quickfix window]]. |
||
+ | *Typing <tt>=i{</tt> reindents the "inner block" ([[VimTip597|code inside braces]]). |
||
+ | *Using <tt>'smartindent'</tt> means that typing <tt>#</tt> may [[VimTip644|remove an indent]] before the <tt>#</tt>. |
||
+ | *The <tt>'winaltkeys'</tt> option controls whether [[VimTip645|Vim handles Alt keys]]. |
||
+ | *If you would prefer Y to be consistent with C, use [[VimTip979|<tt>:nnoremap Y y$</tt>]]. |
||
+ | *A plugin should set its "loaded" variable to [[VimTip1559|show its version]], for example <tt>let g:loaded_dbext = 503</tt>. |
||
+ | *We have a short [[VimTip1582|FAQ for new users]] concerning common issues raised at #vim. |
||
+ | *You can use <tt>:cnoremap</tt> to map a key to <tt><C-\>e(...)<CR></tt> which will [[VimTip1594|replace the command line]] with the <tt>(...)</tt> expression. |
||
+ | |||
+ | ==Previous years== |
||
+ | *[[/2009|2009 ''Did you know'']] |
||
+ | *[[/2008|2008 ''Did you know'']] |
||
[[Category:VimInformation]] |
[[Category:VimInformation]] |
Latest revision as of 10:23, 26 June 2012
This is an archive of the Did you know? section on the home page
We occasionally replace the DYK section on the home page, and items are copied to here so anyone interested can browse them.
To discuss suggestions for new items, please edit the talk page.
July 2012
- The Vim FAQ is online.
- There are several methods to change the indentation of a block of lines.
- A mapping can change the Home key to move to the first character, or the first that is nonblank.
- Filtering and redirection can capture output from Vim or external programs.
- It's easy to change between backslash and forward slash in a file path.
- If you create your own tags file, you can jump to the correct line and column.
- If you work with many files, it's easy to save them all with :wa or :xa.
- Simple substitutes or a Perl script can convert text using HTML entities like >.
- The command :g/^/exe ".w ".line(".").".txt" saves each line in the buffer to a separate file.
- :g// lists all lines containing the last search pattern, and :redir will capture the results.
- With set browsedir=buffer the File, Open dialog defaults to the current file's directory.
May 2010
- @: will repeat a colon (Ex) command (and @@ will repeat again).
- You can use :g/^\s*$/;//-1sort to sort each block of lines in a file.
- It's useful to map . .`[ to repeat the last command and put the cursor at start of change.
- You can open a web browser with the URL in the current line.
- With --remote-send you can close a Vim you left open remotely.
- If you're used to Perl regex, you can use Perl compatible regular expressions.
- In insert mode, Ctrl-Y inserts the character above. You can make it insert the word above.
- A user-defined command can evaluate :Calc sin(pi/2).
- It's sometimes better to not use the slash delimiter for :s/old/new/.
- You can drag & drop one or more files into gvim.
April 2010
- zz scrolls the current line to the middle of the screen; scrolloff can keep it there.
- Vim can do calculations using Python, Perl or bc.
- You can wrap long lines while moving the cursor by screen lines.
- A tricky search can find text that does not match.
- Pressing % jumps to a matching bracket, and matchit.vim can match much more.
- The shortmess and cmdheight options allow you to avoid "Hit Enter to continue" prompts.
- An option controls how backspace and other delete keys work in insert mode.
- You can display line numbers and change the width of the number column.
- It's easy to change text between lowercase and UPPERCASE.
- The command history allows you to repeat several commands, possibly after editing them.
March 2010
- Vim tutorials has videos illustrating simple and advanced topics.
- Use % to jump to the matching bracket, and more.
- Use :lcd %:p:h to change directory to the file in the current window.
- ga shows the ascii value of the current character.
- You can list changes to the current file, even old changes.
- Use za to toggle folds open/closed.
- The status line can show your fileencoding and bomb.
- In a program, you can jump to the beginning or end of a code block.
- With two related files in a vertical split, you can scroll both windows together.
- It's easy to count the words in a file or block.
- You can even make a frequency table counting the occurrences of each word!
February 2010
- Vim tutorials has videos illustrating simple and advanced topics.
- You can press * to search for the current word.
- Ctrl-A can increment numbers.
- After typing a couple of characters, you can complete a word with Ctrl-N or Ctrl-P.
- Vim's help use prefixes like v_ (visual mode) to show the context.
- The :let command can set registers and options as well as variables.
- The command :42 jumps to line 42, as does typing 42G.
- The shortmess and cmdheight options allow you to avoid "Hit Enter to continue" prompts.
- The 'backspace' option controls how backspace and other delete keys work in insert mode.
- The 'number' and 'numberwidth' options control the display of line numbers.
- It's easy to change text between lowercase and UPPERCASE.
January 2010
- Vim tutorials has videos illustrating simple and advanced topics.
- We have an explanation for how :g/^/m0 reverses all lines.
- In a search pattern, \_s matches a space or tab or newline character.
- A script can use a test like &buftype == "quickfix" to check if it is operating in the quickfix window.
- Typing =i{ reindents the "inner block" (code inside braces).
- Using 'smartindent' means that typing # may remove an indent before the #.
- The 'winaltkeys' option controls whether Vim handles Alt keys.
- If you would prefer Y to be consistent with C, use :nnoremap Y y$.
- A plugin should set its "loaded" variable to show its version, for example let g:loaded_dbext = 503.
- We have a short FAQ for new users concerning common issues raised at #vim.
- You can use :cnoremap to map a key to <C-\>e(...)<CR> which will replace the command line with the (...) expression.