this post was submitted on 26 Apr 2024
26 points (96.4% liked)

Neovim

2183 readers
2 users here now

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] ericjmorey 8 points 7 months ago* (last edited 3 months ago) (2 children)

I wouldn't expect that you could go from zero experience with Neovim/Vim to more efficient than the editor you've been using extensively in less than a month. most of the people that responded here had been using Vim prior to switching. The one that had no prior Vim experience took half a month to get the basics down and be comparable with their prior editor (VScode).

Everything you're after is available, but trying to learn it all at once can be overwhelming as you've been experiencing.

So one step at a time, I suggest that you:

  • Take less than an hour to learn about Lua Text Overview | Video
  • Reinstall a fresh stable version of NeoVim and if you haven't already followed the tutorial, follow it.
  • Install ripgrep for full, in file, text search for the current (or specified) directory.
  • Install kickstart.nvim and watch the kickstart.nvim walkthrough video to learn how configuration and plugins work in Neovim. (It also includes a Fuzzy Finder [fzf] that works with ripgrep inside of NeoVim.)
  • Practice Vim Motions so they become second nature to you. Watch the first 5 videos of The Primeagen's Vim Video Playlist to see the fundamental movements beyond what's in the tutorial. You could use a VSCode extension that replicates Vim Modal Editing with Vim Keybindings to get used to the Vim Motions while you're still using VSCode.
  • Get familiar with the Neovim User Documentation which can be accessed and navigated with Vim Motions by typing :help while in Normal mode in Neovim
  • Watch videos on multiword/mulitline editing options with Neovim (Part 1) | (Part 2)
  • Use other resources to learn more about Neovim and figure out what you want to do with it. alpha2phi has a series of articles on Medium but there are many many more. Including TypeCraft on YouTube

.

The best chat beginner community for Neovim that I know of is in The Odin Project Discord. There's a Neovim thread in the #odin-general channel there. (Bonus, while you're in the Discord you can help out others trying to learn web development.)

The point is to find your own way by learning from others, not to simply mimic others. Although up front, mimicing what others are doing is a good way to get started.

Take your time with all of this, there's no rush.

[–] [email protected] 2 points 7 months ago (1 children)

Wow, thank you for your time and extensive answer. This a huge motivation boost and will definitely help me getting into it.

[–] dwraf_of_ignorance 2 points 6 months ago* (last edited 6 months ago)

I am a little late but look into VimBeGood plugin by Primeagen. If you don't have basics down. It's like an old typing game but for learning the basic vim commands.

[–] [email protected] 2 points 4 months ago (1 children)

Quick Update: Your Guide was a great start and i'm using wezterm, tmux and Neovim (kickstart-modular with my adjustments) in production. My biggest pain point currently is 'd' overrides my last yank. My favorite command is 'cinq'

[–] ericjmorey 3 points 4 months ago* (last edited 3 months ago) (1 children)

That awesome!

There are always many ways to deal with workflow annoyances you run into. Most people go looking for plugins or write a plugin or remap some keybindings, but many forget to read the manual to look for builtin solutions. In the case of using d, you can assign the deleted text to a register other than the default register for yank/delete commands.

dd will delete a line and send it to the unnamed register (this is the default register)

"xdd will delete a line and send it to register x

p will put the text from the unnamed register after the cursor

"xp will put the text from register x after the cursor

Use any lowercase letter for a register.

There's always more beneath the surface of simple vim features.

Relevant sections of the User Manual: