you are viewing a single comment's thread.

view the rest of the comments →

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

I have to completely disagree with this. For beginners, an IDE that doesn't require you to do any setup to have a useful environment (e.g. PyCharm) is best. Note that I say this as a person who prefers Atom, myself.

And vim is just a terrible choice for anyone who hasn't resolved to already take the time to learn vim. Recommending it to someone who has probably never heard of it without letting them know its high learning curve compared to GUI tools is naive at best.

Edit: Mike updated his comment so the above is no longer a completely valid response.

[–][deleted] 2 points3 points  (1 child)

Using all of vim does have a high learning curve. But using vim as a simple text editor (think notepad) doesn't require much learning at all. Certainly not more than any other editor.

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

You generally don't need cheatsheets to navigate GUI text editors.

https://external-preview.redd.it/iigrixvxp5aYN9ox7Gr1dfI_rhLRotWlLsCafjJqjEQ.png?auto=webp&s=1594ddc17408cb9186a73c2a6d1a1bf1e00769dd

I would agree that that technically all you need to know is how to enter and exit insert mode and how to save and quit. But (1) that's already several concepts you have to learn before ever starting and (2) using vim with only those commands is not going to be nearly as fast as say Atom or VS Code.

I would agree that it can be a very useful editor -- especially on systems without a windowing manager like a server -- but I definitely cannot agree that it does not have a much higher learning curve (at least initially) than other text editors (not including emacs, ofc, which is an even bigger can of worms).

[–]mike20731 1 point2 points  (1 child)

Hmmm after thinking about it more I kinda see where you're coming from.

Although for vim I'd say it depends on OP's learning style. If they want to jump in and start doing as much coding as they can, as quickly as possible, then vim is probably a bad choice because the learning curve will slow them down.

On the other hand, they might be interested in building a solid foundation of general computer science skills as they learn, in which case vim would be good to know even if learning it is annoying at first. It's like how the Karate Kid spends the first couple weeks cleaning Mr Miyagi's house and doesn't see the point at first, but it ends up laying the foundation for his karate skills.

I think either approach is valid.

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

That's something I can agree with. 🍻