vi or emacs?

multicolorKnight@lemmy.world to Ask Lemmy@lemmy.world – 16 points –

I think the possible valid answers are: "vi", "emacs", "both", "seriously it's 2024", and " huh?"

39

Personally nano

But who cares what you use as long as you are proficient.

If nano or pico is installed I will use those, else vi

Proficiency is absolutely key. I was troubleshooting a feature with a Jr the other day and asked him to search through the log out put (that was currently being displayed on his terminal). Unfortunately he was trying out a new emulator and didn't know how to actually search the output.

We went about it a different way, but at the end I just told him it didn't matter what tools he used as long as he actually knew how to do what's required with them and to please get that figured out for next time.

A Fediverse community for open-ended, thought provoking questions

I swear to god like 90% of the questions I see on here have either one or two possible answers.

Okay, but nobody paid any attention to my multiple choice anyway, and the responses are thoughtful.

I learnt Emacs years ago, it's very helpful to the day-to-day terminal use, however if I could go back I would learn Vi instead, it's better for pinky strain.

I really wish more text editors being actively developed in the present day would take advantage of the IBM CUA standard that has been embraced by Windows and (Desktop) Linux since basically the early 1990s.

emacs. If you want vim keybindings there is a mode in emacs called “evil-mode”. If sticking with pure emacs I recommend rebinding the caps lock key on your keyboard to control.

Vi for me for config, script, and text type files. Used to use emacs a lot for developing hobby stuff but prefer other IDEs now.

Likewise, I use vi for sysadmin work, and a big IDE (VSCodium) for writing code.

Nano (pico). You shouldn't have to look at a quickref to save and quit a document.

Get in, make your changes, get out.

Both because they are the ultimate tools in maneuvering a terrible, terrible development environment. For reference, Sigasi Studio costs 2,000$ PER YEAR, and it still doesn't work for our dev environment!

Let me paint a picture: Corporate job that won't let you download anything except whatever you can smuggle through a git checkout. It took a month to convince IT to download vim 9.0 on the server. The programming language? VHDL and SystemVerilog and UVM. Horrible language support that relies on proprietary compilers/simulators, and always the ones you aren't using. The one you are using is so obtuse that it has literally 50 configuration files for a single project. All of it is run with a janky python script with half of the flags not working. LSP support is out of the question since it dynamically pulls files from god knows where with at least 10 layers of ../ relative pathing.

All I can do on vim is

  • ctrl+p for fuzzy file finding and a massive blacklist of intermediate files to ignore,

  • a custom :Make command with custom errorformat that you can navigate through,

  • Universal Ctags with per library indexes to reference those far off files,

  • and a fuckton of grepping for when Go To Definition (ctrl+]) grabs the wrong location.

Vim's autocomplete is almost always good enough. If my laundry list of plugins break, I can literally fix them on the spot and even submit the merge request on github. If you take into consideration all of this configuration and learning effort, I still save hours of navigating through the hundreds of files I have to essentially reverse engineer. My coworkers are all electrical engineers and it shows They're using godforsaken nedit with no syntax highlighting...

Kate and Notepad++

Why yes, I was an English major...

Emacs with evil-mode. Best of both worlds

I prefer (neo)vim because it uses the same bindings as vi, which is on every server with a decent OS since the 70s (except maybe some exotic ones like 9P). But emacs is also a good choice. So, I'm going to go with "both".

for me its clearly vim, the modal editing and the hotkeys are what makes vim great.

the power of emacs lies in customisation. and building your own setup.

i can use vim hotkeys in almost every ide/editor i need.

to use emacs, i need to set up emacs to do everything you need to do.

you can work like that,
but its not for me.

vi when I'm doing a minor configuration edit on a remote machine

Sublime Text when I'm doing anything bigger than that

This. Why bother with any of them unless you have to… I like to use my mouse. It isn’t 1985 anymore.

Vi.

Honestly, Vim is too heavy for me. I wish I could get a reasonable text editor with:

  • No built-in programming languages.
  • Vi(m)-style modal editing and keys.
  • No GUI. Terminal is good, thanks.
  • Not a lot of moving parts.
  • Infinite undo. (I'm ambivolent about an undo/redo "tree" feature like Vim has.)
  • Visual mode like Vim has.
  • Simple syntax highlighting would be a plus, but not a must-have.
  • Stable. As in doesn't crash.

Vim fails on #1, #4, and #7. (It has syntax highlighting, but not simple highlighting.)

I usually just use the vi that is pre-installed on Arch Linux. (I use Arch Linux btw. Bite me. 😈) But it fails on #5, #6, #7, and #8. (It segfaults randomly a lot.) But I guess those issues haven't been deal breakers enough to make me switch to something else.

I have used nvi in the past. I ended up leaving it for the Arch pre-installed vi. Don't remember particuarly why now.

Maybe one day I'll write my own text editor and ascend to full neckbeardhood.

emacs

On my own system, but usually for remote work I use Vim as it’s easier to make usable

Vim, I've not given emacs a fair try yet. At work I've got to use what I've got to use and neither is an option. At home the last thing I want to do is write more code.

When I do have a choice I'm not doing much more complicated things than editing a config file and anything more advanced than cat would do I guess.

I respect Emacs but it's not for me. Neovim.

Emacs would make a great operating system if it had a good text editor

Vim, or neovim if you want to put some leg work in for vi with modern features.