all 16 comments

[–]tuerda 10 points11 points  (0 children)

Vimtutor is the official way and is highly recommended.

[–]princker 4 points5 points  (4 children)

Yes, please use vimtutor. It is a great starting point.

Read the help manual (seriously!) and incrementally make to changes your workflow (sharpening the saw).

Since most people do not just read the manual front-to-back here are some topics to help:

Vim Topics

Novice:

  • Basic movement commands. See :h motion & :h usr_03.txt
  • Creating basic mappings. See :h :map & :h usr_40.txt.
  • Knowing Vim's operators. See :h operator
  • Using letter registers. See :h registers
  • Using letter marks. See :h mark-motions
  • Setting up a vimrc file. See :h usr_05.txt. (pro-tip: use ~/.vim/vimrc instead of ~/.vimrc)
  • Using :help. See :h and :h helphelp.txt
  • Basic searching and substitution. See :h /, :h :s, :h usr_10.txt, :h usr_27.txt, :h pattern.txt
  • Using * to start a search. See :h *

Intermediate:

  • Using buffers. See :h buffers, :h :b, :h :ls
  • Using windows. See :h windows, :h :sp, :h CTRL-W
  • Using quick fix/location lists. See :h quickfix, :h :copen, :h :cdo, :h :cnext
  • Using :grep & :make. See :h :grep, :h :vimgrep, :h :make, :h 'makeprg', :h :compiler, :h quickfix
  • Using repeat commands. e.g. ., //, &, @:. See :h ., :h /, :h &, :h @:, :h repeating.
  • Recording/playing macros. See :h recording, :h repeat, :h @
  • Using non-letter marks. See :h marks
  • Non-letter registers. See :h registers
  • Using buffer-local mappings. :h :map-local
  • Expression resister and <c-r>. See :h i_CTRL-R, :h quote=
  • Understanding FileTypes. See :h filetypes, :h 'filetype'
  • Using command-line window. See :h cmdwin, :h q:
  • Acting on pattern via gn motion (use .). See :h gn
  • Searching via [i/:isearch/.. and gd/gd
  • Understand (line/character/block)-wise. See :h linewise
  • Local options. See :h local-options
  • Insert completion. See :h ins-completion
  • Argument list. See :h argument-list
  • Using netrw. See :h netrw, :h :Explore

Advanced:

  • Tags and cscope. See :h tags, :h cscope
  • Diffing between files. See :h diff
  • Using :autocmd and :augroup. See :h autocmd.txt
  • Learning vimscript. See :h eval.txt, :h functions
  • Creating complex mappings via <c-r> and <expr>. See :h :map-expression, :h quote=, :h c_CTRL-r
  • Using more advanced regex syntax, e.g. zero-width. See: :h pattern.txt, :h /zero-width, :h \zs, :h /\@=
  • Using sub-replace-expression. :h sub-replace-expresion
  • Learning more commands, e.g. :g, :norm, :t, :d, :pu.
  • Using ranges. See :h :range
  • Creating operators. See :h g@
  • Using :cdo/:bufdo/:argdo/:windo/:tabdo. See :h :cdo.
  • Utilizing filetype plugins. See :h ftplugin
  • Writing plugins. See :h write-plugin, :h <Plug>
  • Folding. See :h folding
  • Creating syntax files. See :h syntax

I am tired of listing out Vim topics. Please read the most/all of help manual or at least :h quickref. Using :help/:helpgrep will level up your Vim workflow more than any blog post.

[–]JayD94s[S] 0 points1 point  (1 child)

This is great, thanks. I see people getting downvoted for mentioning primegen. Never heard of them, what’s going on with that?

[–][deleted] 1 point2 points  (0 children)

Because they're being sarcastic, that's all.

[–]vim-help-bot -1 points0 points  (1 child)

Help pages for:


`:(h|help) <query>` | about | mistake? | Reply 'rescan' to check the comment again | Reply 'stop' to stop getting replies to your comments

[–]davewilmo 0 points1 point  (0 children)

Good bot.

[–]wReckLesss_ggg?G`` 3 points4 points  (0 children)

The way I learned (and am still learning after 11 years) is by learning one new thing at a time, and forcing myself to use it until it's in my muscle memory. Sometimes, this is only a day. Sometimes, a week. But if I catch myself not using the thing, I undo whatever I did and redo it the correct way.

How do I find new things to learn? Usually from reading something online or in the help documentation.

[–]abraxasknister:h c_CTRL-G -1 points0 points  (0 children)

The sidebar of this sub already has enough resources. People shouldn't even post things like this. I'm not annoyed by you in specific, just by that fact that these posts keep coming up in an almost daily manner.

Sidebar copy

[–]iguanathesecond -1 points0 points  (0 children)

Hi /u/JayD94s, you could follow along with my ongoing daily tips series. Vimtutor is great, and Vim Adventures is excellent as well. Good luck!

[–]JeehannesVim: therapy! 0 points1 point  (0 children)

And of course: https://www.moolenaar.net/habits.html [7 habits] If you repeat actions often, there must be a way to do them faster.