4 ms·
I started to wonder if Sublime would suit me. I am for many years now primarely vim user. I use it now mainly, because I've got used to it and it's available e
by hawski 10y ago
I started to wonder if Sublime would suit me.
I am for many years now primarely vim user. I use it now mainly, because I've got used to it and it's available everywhere. I was once a no-mouse-only-keyboard user, but now it all seem like busy-work. I would prefer just to point out what I want. I am not affraid of typing as I mainly use command line and like to use ocasional pipeline with some awk scripting to achieve output that I want. I find Unix toolset more approachable than vim.
It's just that I feel like every magic incantation of vim commands spends my mental energry. I feel smart after some complex edit with only a couple of keystrokes, but a bit less focused at real issues. Editing is such a small part of programming. I understand that people may not have such problems, but that's me.
My dream editor would be something like Acme [0], but a bit more modern. I even started doing my own experimental editor [1] inspired by Acme. I mainly want a mouse driven editor with easy ties to shell. Unfortunately my development pace has been glacial for some time.
[0] https://en.wikipedia.org/wiki/Acme_(text_editor) https://en.wikipedia.org/wiki/Acme_(text_editor)
[1] https://github.com/hadrianw/werf https://github.com/hadrianw/werf
- Philipp__ 10y agoI am kinda thinking the same way. What I liked so much about your comment is that I found myself in pretty same position. I used vim for a few years, got used to that zsh+tmux combo, and my environment was mostly wrapped around Vim (not UNIX like I thought it was). Then after I gave Emacs a shot, I used GUI version, and I saw that it is not the end of the world because I didn't use it as in-terminal editor. I am seriously reconsidering ditching everything and go to Sublime. Why? It's fast, sleek and it does the job. With Emacs I start working on something, and few hours later I am like "why the fuck am I writing lisp and tweaking emacs". I get it, people that used it during 90s, and for 10+ years, they are set in the stone, and why would they switch. But now I really reconsider my options. Vim is much better in that aspect, I spent years with it and have it much or less to my liking, but I always come to some edge case where I change editor. For example, I want to practice few exercises from SCIP I need Emacs, because Lisp programming in Emacs is so effortless and good. I want to write some Go I jump to Vim because vim-go just works perfectly for me. When I am doing some admin work on system I run Vim, but when I want to play with Clojure I need to go back to Emacs. You see the trend? How would Sublime cover all those functional languages, is it any good? If I could have extremely light version of Emacs, that worked in terminal, much better and much more flexible than og Emacs, with good support for REPLs. When you break the no-mouse barrier, you see huge boost of productivity, but later after some time it diminishes and returns. I know I do not want Electron based editor. Terminal preferably but not the key. Something swift and clean. Vim does the job 80% of time but functional languages just work better inside Emacs. I am holding my breath for Xi Editor [0]. It's written in rust, has some interesting abstractions and implementations, native is priority, and overall looks like potential checker for all my boxes. But it is nowhere near to the point of replacing vim or emacs for me. I rambled too much... [0] https://github.com/google/xi-editor https://github.com/google/xi-editor
- trishume 10y agoI really suggest you try out Sublime with Vintageous vim emulation. Part of the reason I spent so much time tweaking emacs is that I work in a lot of different languages, and I had to spend many hours setting up each one. Installing and working with new languages in Sublime tends to just work. With Sublime I tend to use a separate terminal app for doing all my code running and things. So if I'm working in a REPL-like language I do it there. There's also plugins for most languages that do the editor integration I actually want, like autocomplete and highlighting.
- Philipp__ 10y agoThe thing is, Emacs can have amazing, if not best support for any language, but if you install it, set it up and tweak it until molecule level. Which is great, but it kinda tires me, you know... Now, how you manage using separate terminal and Sublime, I mean is there any communication between REPL and Sublime, or you just copy/paste code from editor to REPL? Since in Emacs you can evaluate snippets, functions and do all that nifty stuff... Actually I am afraid maybe to jump and give Sublime a shot, but now it looks like I got nothing to lose. If I manage to cope with REPL in separate terminal app I think I am sold. Magit was nice, but I am fairly proficient in terminal git so it's not a deal breaker, and I never used org-mode (I love paper notebooks for that), so I might be able to adopt to certain extent.
- trishume 10y agoWhen I'm using a REPL I generally have all my function definitions in a file I edit in Sublime, which I reload from the REPL, then I just type in commands in the REPL to try out those functions. That way I don't have to copy-paste much, but if you don't like that style I think a Sublime plugin that used Applescript to paste into iTerm2 wouldn't be too hard. Also for git there is https://github.com/divmain/GitSavvy https://github.com/divmain/GitSavvy which is almost as good and sometimes better than magit. There's also terminal git, I generally use a combination of terminal and GitSavvy.
- trishume 10y agoSublime sounds like exactly what you want. I use the mouse all the time, especially when I'm doing a lot of reading and navigating. For these tasks the mouse is actually substantially faster. But when I already have my hands on the keyboard I can use vim commands to do quick navigation instead of moving my hand to the mouse. I think mouse based interfaces are much better for reading code, which is a lot of what I spend my time doing, and Emacs and Vim don't support that very well. People may think their ace-jump and fancy motions are faster than the mouse, and they may be faster than the overhead of moving your hand to the mouse, plus the clicking, but when your hand is already on the mouse, the mouse is so much faster. One great thing about Sublime's vim emulation is it is better about interacting with mouse use than other vim-things, including vim itself. I also find Sublime is great at not taking "mental energy" like you mention. Multiple cursors can do basically the same thing as vim macros, but with macros I have to think hard about whether my commands will generalize and exactly what I want to record, but in Sublime I can see immediately if things are working (yes Vintageous works with many cursors). Similarly the infrequently used commands take much less memorizing. I can do weird finds like "find in all .rb files in project, whole words, case insensitive" and then immediately convert my command to a replace without retyping all the other conditions or using an entirely separate command. In Emacs I'd have to Google how to do this since I do this kind of thing infrequently. For tying to shell there are Sublime Text plugins that could do that, and writing your own would be easy. Personally I use one that allows me to run my selections through a Ruby script, or even evaluate my selection as Ruby. Example: I wanted to sum a comma separated list of arguments, so I select the first comma, spam "cmd+d" to select the rest I wanted (but not the whole file), type "+", select in parentheses, then replace the selection with the ruby evaluation. It was super quick.