Another 17 Vim Tips

posted by Arkham on October 6th, 2009

success_vim

  1. <Ctrl>-k + e + ! – Write ‘è’ character.
  2. <Ctrl>-k + e + – Write ‘é’ character.
  3. !!date – Insert date in current line.
  4. g, / g; – Jump back/forward to the locations that have been edited.
  5. zf – Fold selected text.
  6. zfa} – Fold the function enclosing the cursor.
  7. zR / zM – If foldmethod is set, open/close all folds.
  8. <Ctrl>-w + (/+) – In splitted views, reduce/increase current zone height.
  9. <Ctrl>-w + (</>) – In splitted views, reduce/increase current zone width.
  10. :vimgrep /pattern/ files – Search for pattern in the provided list of files.
  11. :cn and :cN to jump between vimgrep results.
  12. :clist to display all vimgrep result and :cc number to jump to a specific one.
  13. :%s/\<and\>/or/g – Replace all occurences of “and” with “or”, leaving words like “demand” unchanged.
  14. :%s/foo/bar/gi – Replace case insensitively.
  15. * / # – Search for the next/previous occurence of the word under the cursor.
  16. /\cfoo\Cbar/ – Matches “foobar”, “Foobar” and “FOObar”.
  17. /\([a-z]\)\([a-z]\)\2\1/ – Matches “abba” and “deed”.

Tags: , , , ,

17 Vim Tips

posted by Arkham on October 5th, 2009

vim_bar

  1. <Ctrl>-o – Switch from insert mode to command mode for one single command.
  2. vim +linenumber file – Open file at line number.
  3. vim +/pattern file – Open file at first occurence of pattern.
  4. :next files – Open a list of files, each in a new buffer.
  5. :up[date] – Save a modified file.
  6. “byy + “bp – Copy a line inside named buffer “b” and paste it.
  7. <Ctrl>-] – Follow green links in documentation pages.
  8. <Ctrl>-t – Go back to the previous documentation page.
  9. >ap – Indent whole paragraph.
  10. 10dd + 2. – Delete 10 lines, repeat twice (delete 20 lines more).
  11. VU – Make the whole line uppercase.
  12. V10j + : + !sort – sort alphabetically next 10 lines.
  13. :!uname -a – Display system information.
  14. :! wc % – Display information about current file.
  15. :r!uname -a – Insert system information into the next line.
  16. gg=G – Reformat whole file.
  17. <Ctrl>-n – Start autocompletion.

Tags: , , , ,

Vim staircase effect

posted by Arkham on February 28th, 2008

If you are terminal vim users, I’m sure you have tried to copy/paste text into a file and thought “Wtf, this is pretty damn wrong” seeing something like this:

void
randomize (void)
{
       struct timeval *tv = malloc (sizeof (struct timeval));
            struct timezone *tz =
                  (struct timezone *) malloc (sizeof (struct timezone));
                 gettimeofday (tv, tz);
                      srand (tv->tv_usec);
                           free (tv);
                                free (tz);
                            }

That’s called vi staircase effect.

The solution is to type:

:set paste

before pasting and

:set nopaste

after finishing.

Alternatively, just add to your ~/.vimrc:

nnoremap <silent> <F12> :set paste!<CR>

to press F12 for toggling between paste and nopaste conditions.

Tags: , ,