this post was submitted on 17 Jul 2024
1 points (100.0% liked)

Ask Experienced Devs

1384 readers
1 users here now

Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient

founded 2 years ago
MODERATORS
 

I'd like actual examples instead of "I work faster", something like "I can move straight to the middle of the file with 7mv" or "I can keep 4 different text snippets in memory and paste each with a number+pt, like 2pt", things that you actually use somewhat frequently instead of what you can do, but probably only did once.

top 8 comments
sorted by: hot top controversial new old
[–] Balinares@pawb.social 2 points 11 months ago (1 children)

Where editors usually have editing shortcuts, vim has an editing grammar.

So you can copy (or select, or replace, or delete, or any other editing verb) N arguments or blocks or lines or functions or any entity for which vim has an editing noun, or around or inside either of these, and you only need to remember a few such editing verbs and nouns and adjectives in order to immediately become much more effective.

It's so effective that switching back to a regular editor feels annoyingly clunky. (I guess that's why many offer vim plugins these days.)

Better: you can record entire editing sentences and replay them. Ever had to make the same change on dozens of lines? Now you can do it in seconds.

Now of course, replaying a sentence, or several sentences, is also a sentence of its own that you can replay in another file if you want.

It's neat. :)

[–] zipsglacier@lemmy.world 1 points 11 months ago

This is the comment that best explains it for me. I started with vim for comfort (less movement to mouse, and less reliance on modifier keys). The editing grammar is something I didn't really understand until I started gradually using it, but now it's the thing I most appreciate. I don't know if I'm necessarily faster in vim, but my work is more fluid. The editing doesn't interrupt my thinking as much.

[–] peto@lemm.ee 2 points 11 months ago (1 children)

Honestly the best bit is just not feeling the need to take my hand off the keyboard and use the mouse. I don't think I can quantify the time saved, but I can tell you I really notice when I'm using software that makes me have to switch.

[–] grrgyle@slrpnk.net 1 points 11 months ago

Yeah when my hand goes to the mouse it feels like I've broken a combo or streak. Like I've switched from an active to a passive mode. The mouse is for clicking and scrolling, like reading email and webpages

[–] waywardninja@sh.itjust.works 1 points 11 months ago

I wouldn't consider myself a power user if vim or the bindings I don't normally use the markers or anything. However, I will spend a lot of time and effort to get just a small set of basic commands into my ide.

I like my hands on my keyboard and vim bindings allows super easy common things like ~ for capitalization of a single character. 'gUw' for uppercasing a word. 'dd' is much better to delete a line; than highlighting and deleting with a mouse. The most bad ass things I think it does incredibly well, is grabbing text or changing text between () or {} symbols. A simple 3 key command grabs the text between the symbol, deletes it, puts you in edit mode. Screw it up esc-u.

Another cool thing I use is vim clipboard and the system OS clip board in tandem.

[–] ExperimentalGuy@programming.dev 1 points 11 months ago (1 children)

I use vim bindings in vscode, but I'm trying to switch to neovim.

It's hard to talk about efficiencies without use cases but here's some that I like:

  • Compared to using mouse, text selection is just much easier in vim. Instead of accidentally highlighting an extra space and clicking somewhere on accident which gets rid of my selection, vim lets me go directly to the end of the word and be precise about where I'm selecting.
  • I remember before I used vim, I would count the number of times I hit the backspace or delete when I had heavily nested parentheses. With vim I just type the exact number I want, and if I were to undo that operation I also know exactly what was changed, whereas when counting there's always the possibility of miscounting or pressing delete without counting.
  • I don't have to scroll. I can jump 100 lines in less than a second. Instead of searching through long files to find where I left off, I just generally remember what line number I was at, then I can simply just jump back.
  • Forces me to type better. Before vim I had really shitty typing form(I don't know what it's actually called) but switching to vim shone a light on exactly how I was typing wrong, and now I type faster.
  • Using the % operator you can jump between brackets or parentheses. This comes in handy especially when you want to highlight the inside of a function call, or just jump to the end of a pair of brackets
[–] FizzyOrange@programming.dev 1 points 11 months ago
  1. Ctrl-left/right jump to the beginning/end of words
  2. No exactly sure what you mean here.
  3. Page up/down let you scroll up/down quickly. Ctrl-P :123 lets you jump to a specific line, but I generally use editing history (alt-left) instead.
  4. I can type perfectly well...
  5. Ctrl-{ or } does this I think.

Do you have any more compelling examples?

[–] Cube6392@beehaw.org 1 points 11 months ago

Its not so much about the time saved its about being allowed to stay in a mental state of flow since all actions in Vim and similars are built from foundational navigation language chunks. It feels less like editing and more like communicating. All these random little "I can do this command" is just people trying to show examples of how the language of editing to do weird and interesting things. So the answer isn't so much "I work faster" in Vim as it is "I work with less mental overhead in Vim"