News for hackers. Stuff that matters.
Re:Editor Overload by donatj on Friday August 28, 2020 @05:01AM (#24302829)
When I try to discus editors with friends and coworkers, I often get pushback about not wanting to “switch”. Have I got news for you, computers multitask these days!

I personally often have a JetBrains IDE open alongside VSCode, Sublime and vim because there are things each of them do better, or at the very least things I better know how to do in each. You don’t need to replace a program you like, you can just add to your menagerie.

Final unrelated note, all editor nerds should give Acme a spin. It’s a literal trip. I never got comfortable enough with it to be productive, but I could see it being amazing if you get your head around it.

Re:Editor Overload by dividedbyzero on Friday August 28, 2020 @07:30AM (#24303635)
Definitely. I use SublimeText for general editing tasks and OpenSCAD, VSCode for Python, Terraform/Kubernetes, Ruby, bash/fish ... and IntelliJ for Scala, because it's just the best at that by a long shot. I also use SublimeText for random notes and as a clipboard buffer, since it keeps unsaved tabs alive really well, even across restarts and crashes – I think one of my unsaved tabs must be close three years old. Terriffic piece of software.

I never got into emacs/vi/vim. I suspect they aren't actually rubbish, but my exposure to both so far has been limited to lots of very aggressive sales pitches like "anything less than my particular way of using emacs doesn't even qualify as text editing" and "using arrow keys is sin, filthy unbeliever", both in person and online (HN has its fair share of this), and that's just such a huge turn-off, massively takes the fun out of it.

Re:Editor Overload by lyjackal on Friday August 28, 2020 @08:23AM (#24303999)
Hah, that's my exact same workflow. Sublime for random notes, clipboard buffer. Vscode for JavaScrcheck on package uspsipt/typescript. Intellij for Scala. I also have a dated log loh of todos that I edit in vim with some helper scripts that keep add a datestamp for each new day that I open it.

I've lightly forayed into vim and emacs before, but can't live without the built in language support

Re:Editor Overload by Cthulhu_ on Friday August 28, 2020 @05:40AM (#24303050)
Same; I use IntelliJ for the brunt of my work (no editor is faster than automated refactorings & auto fixes), VS Code for random code, documents, and scratch pads (usually using it for auto formatting as well), and vim for git commit messages / interactive rebases, but mainly because git opening up an external editor breaks my git flow.

Me and Vim never clicked. Mind you that may also be because I've not found a good tutorial / practice thing yet, nothing that stuck or that pushed me to get the various commands into my muscle memory.

Re:Editor Overload by rusk on Friday August 28, 2020 @08:44AM (#24304173)
I use IntelliJ for Java. There's nothing to touch it. What bugs me is that every year or so they change things around and you have to figure out how everything works again, or they discontinued support for a plugin for a particular version of a VCS you were using ... (no I'm not bitter ;)

But I use Emacs for everything else. Emacs never changes how things are done. It can't do Java the way I'm used to doing it though. It took me a whole heap of work to get competency to a level I was actually productive with though, so I can appreciate why it's a tough sell. Worth it though IMO. Though I pity the person who has to pair program with me!

Re:Editor Overload by JackMorgan on Friday August 28, 2020 @08:07AM (#24303882)
If you're interested in learning Vim, I wrote up a bunch of practice exercises for every command to build muscle memory. They are intended to only take about 10 minutes a day for a couple weeks to help learn specific commands. Here's a few free sample chapters: https://github.com/steveshogren/10-minute-vim-exercises/blob...
Re:Editor Overload by square_usual on Friday August 28, 2020 @06:04AM (#24303187)
I have the same setup with Sublime instead of VS Code. Sublime starts faster and takes up less memory, and I don't need the things vsc is better at for my scratchpad needs. For when I don't want to use a JetBrains IDE I just use code full stop.
Re:Editor Overload by closeparen on Friday August 28, 2020 @01:11PM (#24307351)
I’m hoping beyond hope that Jetbrains one day implements a client-server architecture. The codebase at work is getting too big for our MacBooks to reasonably “git pull,” build, and index. The solution on offer is very powerful cloud instances. The only GUI editor option there is VSCode. It’s okay, but nowhere near Jetbrains level.
Re:Editor Overload by loxs on Friday August 28, 2020 @05:30AM (#24302996)
Exactly. Especially once you learn Vim you don't need to "switch" at all. You can have the vim plugin in every editor and use the best tool for every job.
Re:Editor Overload by kabdib on Friday August 28, 2020 @05:40AM (#24303052)
I don't know vi/vim at all (okay, only enough to exit an accidental session), so I can't judge the quality of these emulator plugins.

But I am curious:

On the Emacs side of things, none of the dozens of editors I've used that claim to emulate Emacs have done a good enough job to let me actually work. Right off the bat, most of them do not get C-U correct, and that's something any serious Emacs user will hit within a few seconds.

Do the 'vi' plugins generally do a good job, or are they just the same hollow key remappings that most editors consider "an Emacs mode"?

Re:Editor Overload by vladvasiliu on Friday August 28, 2020 @06:33AM (#24303324)
I would say it depends. Mostly they enable the modal editing thing and most commands are available. However, what usually happens is that this integration is only skin-deep and there may be conflicts with the IDE's shortcuts.

In intellij, shortcuts (commands using a modifier) can either be handled by the Vim plugin or by the IDE. You can't choose depending on the mode of vim. I mainly use Vim for the movements, so I don't feel very limited by the lack of "advanced features". However, what irks me is the way words are handled. For exemple, the IDE will be able to handle camelCase and go from one "word" to the next with ^->. Vim doesn't know that.

Another limiting factor is that many people use a bunch of vim plugins. As the vim-mode in IDEs isn't actually vim, those plugins can't be used.

I've never tried, but what looks interesting on paper is the neovim integration of VSCode. From what I understand it actually uses nvim, so that should be able to provide the full vim experience, including plugins.

Re:Editor Overload by urxvtcd on Friday August 28, 2020 @06:59AM (#24303457)
It's been a while since I last tried Vim emulation, so I don't remember the details, but I remember feeling impaired. :g and :v commands were missing, which is a big deal for serious vim users, I think?

Though comments under yesterday's post about scrollbars made me realize I might live in a :g/:v bubble :)

Re:Editor Overload by loxs on Friday August 28, 2020 @08:09AM (#24303899)
I am not sure. I probably don't know "vim proper" - only "portable vim" which is the same in all editors.

For the basic editing (probably not that basic, as I use quite advanced editing techniques like macros) I use vim shortcuts and for things like manipulation of windows/buffers/tabs I use editor specific shortcuts. Also for some unique features, like code refactoring in IntelliJ IDEs I use their shortcuts.

But "basic vim" functionality is still enough "to be dangerous" very fast after I start using an editor and I gradually learn the specifics. I never think twice whether I want to try some new editor. I just do it.

Indeed, I don't use vim proper (can't remember if I ever used it), but I heavily use all of the following (for different purposes) at the moment:

1. WebStorm for web stuff 2. CLion for Rust (it's different from WebStorm and has different shortcuts for various things) 3. Spacemacs for OCaml 4. VSCode for various things, mostly for beancount accounting 5. vim on remote machines - but there I don't use buffers and other more advanced things

Re:Editor Overload by ofrzeta on Saturday August 29, 2020 @02:04AM (#24313996)
Assuming you talk about Acme from Plan9 you could try Wily which is similar (don't know about the actual differences) but more accessible because it can be compiled on Unix/X11.

http://www.cs.yorku.ca/~oz/wily/

Re:Editor Overload by donatj on Saturday August 29, 2020 @04:18AM (#24314576)
Honestly installing Acme on macOS with Homebrew was zero fuss.

https://blog.mattrbianchi.com/post/get-started-with-acme/

Re:Editor Overload by slifin on Friday August 28, 2020 @05:59AM (#24303160)
Same I use Intellij and Sublime, for me the best debuggers are in Intellij, and the fastest editing experience is in Sublime
Re:Editor Overload by rvalue on Friday August 28, 2020 @04:47AM (#24302719)
Sublime still remains my go to text editor. For development, I definitely have switched over to appropriate tools with larger feature support but nothing, I say nothing, provides a blank slate of immense power and performance such as Sublime Text does
Re:Editor Overload by 8fingerlouie on Friday August 28, 2020 @06:25AM (#24303287)
I still use Sublime daily, and will continue to do so for the foreseeable future, but i can see that VSCode is breathing down it's neck.

A couple of years ago i could have sworn that they had feature parity, but these days it seems like VSCode is getting "all the cool plugins", while Sublime has stagnated. The long development cycle probably doesn't help.

Sublime is still the king of speed. It launches in milliseconds, opens just about anything you can throw at it, and does so without making a fuzz.

VSCode on the other hand spends seconds starting up, more seconds after starting up loading plugins, even more seconds refreshing plugins until it is finally ready after 10-15 seconds. It may not be a big deal if you only open it in the morning, but if you have to open it multiple times a day it becomes a chore, so much that i have reverted to Notepad++ for most trivial tasks.

VSCode will also open pretty much anything you throw at it, but where Sublime will use very little memory opening a large log file, VSCode is in the GB memory consumption range long before finishing reading it.

Of course, the above is only "Windows" problems, as any Unix based operating system will have some form of Vi, which is my preferred editor.

Re:Editor Overload by arethuza on Friday August 28, 2020 @07:06AM (#24303491)
"VSCode on the other hand spends seconds starting up"

I tried this and was surprised to find that VS Code is quite slow to start. However, opening subsequent files once the editor has started is fast and I pretty much always have VS Code running so the slow initial startup doesn't seem to be a big problem - at least for people like me who are terrible at closing programs...

Re:Editor Overload by teekert on Friday August 28, 2020 @07:45AM (#24303732)
What I really like about VSCode is the remote-ssh plugin. This puts (at least some) of the VSCode software on the server and things like Git and the runtime you choose for your code (like the Python install) are on the server. Especially my code needs to run on a batch processing cluster, so it needs to be there and not local if I immediately want to use/test the code. So where I used to work via Samba shares or ssh/Vim/Nano, I now open VSCode and add the remote server to remote-ssh and boom, I can browse the filesystem and use Git from the same interface, I can even have a terminal open to the remote machine at the bottom of my VSCode window (if I want to do more fancy git stuff or start programs). VSCode is now more like a client and plugins remain on the server, the actual dev (local) machine becomes less relevant. Is there anything similar out there?

Actually a colleague of mine use a Jupyter-lab install on the remote cluster, he uses the Editor and Notebooks together to develop. This is also a nice way to develop locally with the code remote.

Re:Editor Overload by calaphos on Friday August 28, 2020 @08:45AM (#24304181)
For me it's the single best feature about VSCode.

Extremely useful for projects which have an environment that is a bit tricky to setup - so usually python. I can just run all my python projects on a workstation or even some powerful cluster node and never need to mess with a local python version on the windows laptop. A giant improvement over the rather lackluster remote mode of Pycharm which needs a local environment to be useful at all. It even supports a remote connection via a jumphost, e.g. for cluster nodes behind another login node.

On the other end the editor is significantly worse when compared to Pycharm. The refactoring is mostly unusable across files and more often breaks things than helps. No perfect tool I guess.

Re:Editor Overload by mjakefranklin on Friday August 28, 2020 @01:42PM (#24307737)
Is PyCharm that much worse for remote development? I've been thinking of trying it out
Re:Editor Overload by timw4mail on Friday August 28, 2020 @09:27AM (#24304561)
Hey, another user of Coda!

Coda (and Coda 2 on modern machines) is great for remote editing, especially since you don't have to set up any plugins.

My favorite editors/IDEs by task: * Remote config file editing: Coda * PHP: PHPStorm * JS: WebStorm * Rust: CLion * CLI text editing: Vim * Edit a random file on Windows: Notepad++ * Edit a random file on Mac: VSCode/Atom

Re:Editor Overload by datagram on Friday August 28, 2020 @04:22PM (#24309506)
> until one day I discovered a plugin for VSCode that embeds Vim

Pretty much any editor with plugin support ends up with at least one Vim plugin. In addition to VSCode, Sublime, Atom, and Emacs all have Vim plugins (Sublime's is even built-in, but disabled by default).

To me this is the best of both worlds, since I can take advantage of all the nice features from my IDEs while still having the efficiency of Vim editing. Honestly, the thing I miss the most from full-fledged Vim is the Subvert command from abolish.vim (https://github.com/tpope/vim-abolish).

Re:Editor Overload by sneak on Friday August 28, 2020 @07:07AM (#24303496)
I liked the promise dangled by things like Atom and VSCode, but Atom’s development has stopped and VSCode is spyware, in addition to all of the most interesting features being in closed/proprietary plugins.

Text editing is one place I’ll absolutely never use nonfree software. In addition to the privacy concerns (my editor has the highest security requirements of any software I run), it’s also my most-used tool, and, as such, must always be able to be inspected and modified, as it is an extension of my muscle memory.

You might lock me into a cloud or an API, but my most critical tools that take up the deep parts of my habits will remain under my control.

Re:Editor Overload by lioeters on Friday August 28, 2020 @10:21AM (#24305165)
> ..VSCode is spyware

As a daily user of the editor, I'd be curious to hear more. To be honest, it's become an essential tool, and would be a challenge to replace. It's quite excellent.

I know it's funded by Microsoft, whose operating system I'd consider as a kind of spyware these days. But for VS Code, aside from the opt-in telemetry, and the fact that it's built on Chromium, funded by an advertising giant who thrives on invasion of privacy, is there evidence to justify calling it a "spyware"?

OK, I admit that whole question might be an answer to itself..

Re:Editor Overload by sneak on Friday August 28, 2020 @01:07PM (#24307292)
Several other plugins serve as telemetry even if not explicitly intended as such. Other extensions that have their own telemetry generally ignore the telemetry setting on the editor itself.

One such example:

https://github.com/microsoft/vscode/issues/49161

Re:Editor Overload by jansan on Saturday August 29, 2020 @06:13AM (#24315068)
Have you tried Webstorm? I am using VSCode for a company project because the team agreed that we all use the same tools. Privately I am using WebStorm, and I like it much, much better. It feels so much more integrated, and all those inspections, refactoring, diff features make it the best web development tool currently available IMO.
Re:Editor Overload by wastedhours on Friday August 28, 2020 @07:48AM (#24303752)
Could you not also use one of the open binaries of VSCode with the telemetry removed? https://vscodium.com/ or build from source (with reference that the Microsoft specific functionality is not present: https://github.com/Microsoft/vscode/issues/60#issuecomment-1...)
Re:Editor Overload by slightwinder on Friday August 28, 2020 @08:46AM (#24304186)
> VSCode is spyware

Not if you deactivate telemetry.

Re:Editor Overload by sneak on Friday August 28, 2020 @01:10PM (#24307340)
I wish that were the case, it’s a pretty nice editor.
Re:Editor Overload by baq on Friday August 28, 2020 @07:52AM (#24303774)
i'm a vim user for 15 or maybe even 20 years now.

vim is more of a text sculptor than text editor. the way you work with text is next to magical.

that said, it shows its age. i'm now trying out - with quite some success - vscode with remote-ssh. it's extremely nice to be able to use native OS window and have everything happen on the remote side transparently. the vim plugin works but as usual not everything is good: visual mode doesn't quite work for copying lines, commands are missing, keybindings conflict with native, etc. haven't looked at the neovim integration - next on the list.

Re:Editor Overload by spockulous on Friday August 28, 2020 @10:46AM (#24305507)
The neovim integration is better than the main vim plugin IMO, since it's not trying to emulate the myriad features of actual vim. I wish the current top Vim plugin had taken the neovim-as-backend approach. Oh well.

The noevim plugin is decent, and allows most of your vimrc mappings, but it definitely has it's quirks. If the quirks got smoothed out VSCode + neovim plugin might just be perfect.

Re:Editor Overload by hpoe on Friday August 28, 2020 @10:21AM (#24305179)
I can't believe I didn't see it on the thread yet but I am putting a plug in for Doom Emacs.

I was a hardcore Vimmer for years, but I've heard so much about emacs I decided to give it a try and after giving up on it once I tried Doom Emacs and it is fantastic. Easily doubled my workflow speed and that is just learning some of the basics. It takes a little bit to get used to but it is so powerful and fast. In addition learning a new workflow and the world of Lisp has been eye opening.

Re:Editor Overload by spockulous on Friday August 28, 2020 @10:38AM (#24305388)
Author of the post here and I'm curious, did you ever try Spacemacs? Not that it's better or worse, but that's what got me into emacs. I'll have to give Doom a try!
Re:Editor Overload by hpoe on Friday August 28, 2020 @01:12PM (#24307358)
I didn't try Spacemacs. When I decided to make the switch I looked at both of them, the big thing that won me over was that Doom Emacs advertised being lighter weight and quicker to startup which kind of sold me. I might be interested in trying Spacemacs in the future but right now I am still trying to navigate the Emacs world itself.
Re:Editor Overload by jansan on Friday August 28, 2020 @05:06AM (#24302855)
I have been down the same road.

Windows Editor - Laughable piece of crap with one single undo step!

Notepad++, Slickedit, etc: Nice for some quick editing and hacking. Quickly fired up, but framework support is generally lacking.

Atom - feels super heavy for a text editor

VSCode - alright, but not really something will get you excited

WebStorm - Not free, but fucking great. Maybe not as lightweight as those Slickedit, Notepad++ options, but awesome framework support and by far the best diff tool that I know.

Re:Editor Overload by SirensOfTitan on Friday August 28, 2020 @07:30AM (#24303639)
I followed a similar trajectory:

1. Dreamweaver

2. UltraEdit

3. Sublime Text

4. Vim+tmux: clicked for me like a year into my career.

5. Vanilla Emacs+Evil and a custom config.

6. Doom Emacs: I started running into some slowness with my own config years in, so decided to give doom a try. I’m glad I did: it’s so fast and really intuitive.

Re:Editor Overload by Santosh83 on Friday August 28, 2020 @04:40AM (#24302670)
Good article. Personally I'm pretty content with VS Code and Notepad++ for more minor edits.

Interesting effect on link hover by the way. I can't decide if I like it or if it's a bit too distracting!

Re:Editor Overload by schattschneider on Friday August 28, 2020 @04:46AM (#24302714)
I liked being surprised by it.
Re:Editor Overload by rusk on Friday August 28, 2020 @08:49AM (#24304216)
Ha Ha yeah it's cool - outrageous - have a look at his twitter link
Re:Editor Overload by hi41 on Friday August 28, 2020 @07:04AM (#24303485)
Nice writeup op. At the end the blinking pairwise can give someone seizures. It made it uncomfortable to look at it. Could you please please make it unblink.
Re:Editor Overload by hewrin10 on Friday August 28, 2020 @04:48AM (#24302728)
Have you tried Spacemacs? Vim + Emacs!!
Re:Editor Overload by spockulous on Friday August 28, 2020 @10:48AM (#24305526)
Yes! That's what got me into emacs. Still not yet fluent in it though, thus the 3 editors...
Re:Editor Overload by rascul on Friday August 28, 2020 @10:30AM (#24305283)
The blinking/color changing thing when hovering over links is very painful for me.
Re:Editor Overload by KorfmannArno on Friday August 28, 2020 @10:54AM (#24305605)
TextMate 2
Re:Editor Overload by xwdv on Friday August 28, 2020 @08:05AM (#24303866)
I’m sure if we did a study we would find the salaries of developers who use Vim tend to be higher on average.