4 ms·
IDE vs Text editor. OOP vs Functional. Logger vs debugger. The holy wars that shouldn't be. Why can't we all be friends and accept that Vim is better than emacs
by mekoka 6y ago
IDE vs Text editor. OOP vs Functional. Logger vs debugger. The holy wars that shouldn't be. Why can't we all be friends and accept that Vim is better than emacs.
- catillac 6y agoI heard the latter sentiment earlier today, but I don’t think anyone is actually passionate about what editor others use. Opinionated sometimes.
- tyingq 6y agoMost of the time, I suppose. Watching someone try to write java in vim (or generally, without an IDE) gives me anxiety though, even with a language server :)
- mdpye 6y agoMeh, it's fine. In general, I find that vim in more productive most of the time (now I have a language server, before, wouldn't ever consider it!) The fluid and consistent (java is only a portion of what I write at work) editing experience is mostly more valuable to me than the slightly better autocompletion. I keep intellij installed, but it only open it if I want to do a fancy mechanical refactor, like extract an interface from an existing class. Smaller niceties like creating a local variable from an expression are only a handful of keystrokes just feel like naturally describing what I want (lexically, rather than semantically, I'll admit) in vim anyway.
- themadsens 6y agoThat's perfectly doable. I routinely navigate / extend / debug / refactor a 600 KLOC Java codebase with nvim + ctags + ripgrep and will have the job done well before the language server has even completed digging through those 600 KLOC.
- h2odragon 6y agoPassion about the tools others use can be called for if you can see they're obviously struggling to meet their goals with the tools they've chosen. The hard part is, unlike a screwdriver where you can demonstrate, editors and "IT" in general are mental tools where the mindset is an invisible, nontransferable "handle" to the visible portion that everyone can see and use.
- kstrauser 6y agoA previous manager was snarky about me using Emacs to write Python instead of “a proper tool”. Every time he’d pass my desk, “a real IDE could to that for you”. We finally had a conversation along the lines of “can it save me more time than you waste pestering me about meaningless stuff? Also, STFU until I miss a deadline for the first time since I’ve been here.” I would not hire a carpenter who doesn’t believe in using hammers. Neither would I constantly bug a hired carpenter to use the hammer I think they should be using instead of the one they like.
- fao_ 6y agoI used to think like you, friend! For over a decade, then I discovered doom emacs :)
- mcbuilder 6y agoFor those wondering, Doom Emacs is a better vim (from evil-mode) than vim and so much more (easy out of the box community configs for most languages and tools, and way more cool stuff) inside the Emacs OS.
- j4yav 6y agoI tried using it but got stuck on having to learn Lisp to understand my config file.
- revscat 6y agoApparently all the cool kids are using neovim + Lua these days. Lisp turned me off of emacs years ago as well. Recently I started digging into Neovim and have found Lua much easier to parse/internalize than Lisp, and kind of a joy to work with.
- j4yav 6y agoGreat, I am at least halfway on the right track since I am using neovim. I know Lua a bit, I actually didn’t realize it was integrated.
- fao_ 6y agoI'm not sure what's difficult about (map! :n "ff" #'save-buffer) ; Save (map! :n "fq" #'kill-current-buffer) ; Quit a buffer or (defun my/org-buffer-check () "Check that we are in org-directory, and the buffer name is in that directory" (and (string= org-directory default-directory) (seq-contains (directory-files org-directory nil) (buffer-name) 'string=))) the latter being easily represented as: function my/org-buffer-check() return string=(org-directory, default-directory) and seq-contains(directory-files(org-directory, nil), buffer-name(), &string=) end (seq-contains looks through the sequence returned by directory-files, for the result of buffer-name(), and compares them using the string equality function)
- deleted 6y ago[deleted]
- lr4444lr 6y agoHow's file exploring and method/class definition lookup these days in Vim?
- pjio 6y agoThe quality of the language servers vary, but you could get a decent IDE-like experience.
- AlexCoventry 6y agoLSP is a great leveler, for that. From what I hear, vim has great LSP support, these days.
- russellendicott 6y agoFor the junk I write and work with Ag/Rg has been sufficient.
- lamontcg 6y agoI've been a vim print debuggerer for like 30 years, and last year picked up writing C# in an IDE (Rider) and its been quite nice really.
- Tade0 6y agoLet us not forget the war to end all wars: Tabs vs spaces
- mjevans 6y agoTabs are the clear winner here, since they unambiguously denote which level of indent is in use, take only one character (octet) per indent level, and can be visually adjusted on any moderately advanced editing program to an end users taste WITHOUT modifying the source code. This __wouldn't matter__ if we all just used TABS for indent level and if spaces were ignored for that: I also prefer tabs to show in a GUI code editor at ~4 characters, but be equivalent to 8 display characters in terminal modes (I guess EM size, but when I care about those I really want a 'fixed width' font, so toss all of the complexity aside please).
- nottorp 6y ago> unambiguously Multi people teams (or just one person editing on different platforms depending on need) using different editors and with different preferences would like to have a word with you here.