Vim is built different
Vim is built different
Vim is built different
POV: You open vim for the first time.
More like:
The image shows the last state of a terminal emulator of person without command line or git knowledge. The person attempted to run
git commit
and is now blaming the result of a specific configuration on their system that launches a vi derivative on the vi derivative itself. This image is expected to convince the viewer that the vi derrivative is to blame.
Fair, but there's a worse experience possible.
For a time, many people's first encounter with vi
was when it auto-opened a temporary editor to ask them to submit a commit message for the git command they just ran.
This experience skips the vi
"welcome" screen, because a file is open.
As a bonus challenge, git
did not inform the user what editor is in use, and the user had no particular reason to even expect an editor to appear, based on what they were just doing.
None of this was the fault of vi
, really. But it was a terrible introduction.
It got better when various operating systems changed their default command line editor to nano
, and git
added some helpful adjustments - "if certain settings are not configured, assume a new user and show verbose welcome messages".
I switched from vi to vim in 1994 and found it immediately obvious how to quit — it was just like vi!
I guess I'll never understand these memes.
This....this hits way to close to home.
Type h
for “hello” does literally nothing… ok… thought this was a text editor why can’t I even write… mash esc
still no response, try typing “hello” but no matter how many time I mash h
nothing happens. Right let’s leave and find a guide. Right so closing a terminal program that’s usually Crtl-c
nope that’s done nothing, erm, what else works, nano uses Ctrl-x
let’s try that, nope. Erm kill
nope nothing, fuck this I’m just closing my terminal. - my first vim experience.
<esc>:q!
I have accidentally opened it so many times. I have to look how to close it every time
vim & sleep 30 && killall -TERM vim
POV: you opened ed for the first time
? help ? ? ? quit ? exit ? bye ? hello? ? eat flaming death ? ^C ? ^C ? ^D ?
^C ^\ ^Z kill -9 (from another session)
If I can’t kill the child process, I kill its parent and go on with my life.
Sure, but the above is from a gnu humour post that's over 30 years old: https://www.gnu.org/fun/jokes/ed-msg.html
I mean, just type :help
and then use your arrow keys to scroll around and read how to use vim/neovim.
Learning how to use documentation should be the first thing you do when you try the Linux terminal. man vim
, Vim page on the archwiki, etc.
What do you mean "build our dev environments around vim"? If you mean they write dev tooling in vimscript and explicitly require everyone to use it, I actually agree with you. I don't believe employers should really ever force any particular editor or IDE if the work is getting done. I would be equally annoyed by a workplace forcing me to use vscode instead of vim. It would slow me down way too much.
If you are just complaining that they build dev tooling as a CLI, hard disagree. That is absolutely what dev tooling should use because it's actually universal and can be used regardless of your editor choice.
At my workplace, our dev tooling is done via CLI and our developers use vim, emacs, and vscode. Because it's all CLI, it's easy for individual developers to add their own scripts to automate parts of their workflow as they see fit (and if such automations are deemed useful by the group at large, it will get merged into our shared devtools repo). We even have some editor-specific stuff in there people have written that they find useful, but it's entirely optional.