I'm not flaming, I genuinely want to know. I've tried Gedit, Atom, VS Code, Notepad++ and I fail to see what Sublime offers over those to justify the price.
I'm not flaming, I genuinely want to know. I've tried Gedit, Atom, VS Code, Notepad++ and I fail to see what Sublime offers over those to justify the price.
It's better than Gedit in every way, it's way faster and more lightweight than Atom and VS Code, and it has a far better plugin ecosystem and functionality than Notepad++.
I'd pay triple the price.
Now you've got me wondering why editor speed is actually a thing.
Not sure about the first.
I care about speed because I like to use "large" files. I prefer a few large files to many small files.
An editor is not as simple as displaying lines of text a la Notepad, different editors optimize for different use cases.
2. http://blog.atom.io/2017/06/22/a-new-approach-to-text-render...
edit: not sure I correctly understood the parent
I don't want to see freezes for 2-3 seconds for some GC run, I don't want the letters to appear several 100ms after I've typed, I don't want to wait minutes for it to parse a large-ish file or update the autocomplete suggestions.
Of course the extent to which this happens is the whole reason there are different editors. If all you want to do is write text with zero features, then speed isn't an issue at all and you can just write directly in your terminal to a single file with pico or something.
[0] https://code.visualstudio.com/blogs/2017/02/08/syntax-highli...
I was troubleshooting something with a colleague who was using Atom, and every time he opened a new file, it'd take somewhere between 1 and 2 seconds before the syntax highlighting was applied. As someone who's in and out of files all day, that'd drive me bananas.
Thing is, same is true for any other good IDE, of which there are plenty.
Personally, it always blows my mind that people don't use VIM :) if they actually spent 5-20hours learning VIM correctly they would not touch these inferior pretty looking UIs
For file-inefficient environments (e.g. Java/Android -- 79 files for a "hello world" Android app!) I have to grudgingly use an IDE because I have no idea how to update the 78 other manifest/gradle/workspace/resource/etc. files based on the 1 file I change and the IDE takes care of the magic, as much as I hate that way of working.
Bret Viktor's oft-quoted "Inventing on Principle" talk touches on this subject where a lot of research has shown that bimodal editors are worse. While I can't argue for how true that statement is, it's certainly been my experience. I always find it jarring to think I'm in command mode but I'm actually in edit mode or vice versa. Any vim user has had the experience of pasting text in command mode. I just absolutely hate bimodal editors.
Additionally, staunch vim (and emacs) users I know seem to spend an inordinate amount of time screwing around with plugins to get some pale version of behaviour you get out the box on any halfway decent IDE or even text editor.
I feel the same way about learning yet another series of keyboard shortcuts for, say, tmux/screen.
You could argue the mouse is slower. I'm not sure if this actually holds up to empirical measurement (or at least not to the degree that's claimed) but the point is, the barrier for entry is so much lower. You can just click around and find things. If you find yourself doing something a lot, you can find out what the keyboard shortcut is.
Thus you don't need to spend 50 hours upfront on a GUI editor.
But I'd like to say that I cannot honestly recall an instance where I was in normal mode and ended up pasting something -- I assume you mean Ctrl-V-ing and having the paste interpreted as commands? -- once I got used to it after leaving Sublime Text, which I'd say took me a couple of weeks of hating myself. It's a matter of how much effort one thinks it makes sense to put into learning the editor, but IME there is a significant payoff, even if it is hard-won.
I'm not sure if it's harder for some people to internalize (which is by no means a value judgment; it's why Emacs/ST/Atom/whatever exist and are powerful) but once that is done, one never gets confused about what mode you're in simply because one is almost never in insert mode! "Probabilistically" speaking, you are in insert mode for 0 time. ;)
In any case, I don't hate non-bimodal editors, just hope that the subset of those using them who have not seen Vim for what it is yet do so quickly. (And, of course, there are those who are genuinely repulsed by modal editing, and that's fine!)
I can't speak to "inordinate amount of time screwing around with plugins": I have a plugin for each language I use, and perhaps four or five others. The rest of my init.vim (I use Neovim) is about ... 30 lines long? It's my experience that most (Neo)vi(m) users use little of the power of plain vi -- I know that because I myself was like that for almost three or four years after I started using Vim. (This is ignoring, e.g. large Java projects, where IDE-style code navigation is basically a requirement if you want to get anything done.) But there is definitely a culture where a customized-to-the-hilt editor is seen as something to be proud of, and why shouldn't it? It's what you "live in", isn't it? :)
5 shortcuts is a paltry investment for a pretty sweet gain.
And unlike an IDE, this can be readily available on any machine you SSH into. Which is also what makes VIM so handy.
It is slower, and does hold up to empirical measurement. Yes, if you want 'ease of onboarding', then vim is not for you. It's a powerful tool for professionals, and like a lot of such tools, it requires some training. No-one ever complains that Photoshop requires training, yet a brand new user to Photoshop is completely befuddled and it takes a long time before they're proficient.
I think this is a really good analogy to using pro-level text editing tools (e.g. Emacs or Vi). A mouse is great for poking around menus and operating sliders in a new or unfamiliar program, but Emacs and especially Vim are so fast to use without a mouse that it pains me to watch other programmers editing while using one.
ST is a fine editor, and I use IntelliJ for Java, but I've already spent the time (years) learning Emacs. Is it worth it for me to start over? No. I use IntelliJ for Java programming, but I use only its basic Emacs keybindings and the mouse for everything else (befuddled like I am in Photoshop).
There are some really great vim plugins for Sublime Text, including one that uses NeoVim. For me, Sublime Text is basically Vim with an nice UI and some IDE features built in. And Goto Anything. I wouldn't want to live without Goto Anything.
{ "keys": ["j", "k"], "args": {"key": "<esc>"}, "context": [{ "key": "setting.actual_intercept", "operand": true }], "command": "actual_keypress" },
That, in your Sublime keymap, should map jk to escape if you're using the ActualVim plugin.On the backend, it's using NeoVim... So it's literally just vim. You can even use vim plugins. There really shouldn't be any missing features.
e.g. Goto anything you can use the Ctrl-P plugin.
I will often use sed or other CLI tools to parse through giant files (1GB+), but sublime only takes a short bit to load in a pretty hefty file, or a do regex search across entire projects with multiple-GB of files, and it works natively on Mac and Windows, so even when I'm forced to work on something on my Windows 10 laptop, I can be productive.
Well worth whatever I paid for it 4 years ago.
And it's fast, it's small, and it's got a lot of packages. What more do you want?
And the excellent Python plugin API, which has made the plugin ecosystem so vibrant. Here's one I wrote, https://github.com/kylebebak/Requester, an HTTP client that goes toe to toe with Paw and Postman on features and outdoes them on usability.
I couldn't have have written something like this for any other editor, or any other platform.
Not to mention if you hit ctrl-f and search for something in the file. Another lock-up for a few minutes while it tries to figure out highlighting. This is something I've reported to them. I have never considered Sublime to be a good handler of large files.