6 ms·
I had a similar experience, but came to the opposite conclusion. I walked away replacing vim with emacs as my daily driver. Elisp is far more extensible than vi
by circuit 3y ago
I had a similar experience, but came to the opposite conclusion. I walked away replacing vim with emacs as my daily driver. Elisp is far more extensible than vimscript and evil-mode is pretty much at 1-1 feature parity with the real vim. I don't care much for the emacs movement keybindings except for the readline movement commands.
> to this day I still don't see what the hype was about.
Most of vim is written in C with some interfaces exposed for scripting. Emacs is mostly written in elisp with some C code where necessary. The latter lends itself better to 'hackability' imo
For my own machines, I build emacs and import my saved init.el
On other machines, there is usually a standard vi/vim install that I can use if I am ssh'd in somewhere where I don't have my personalized copy of emacs. If I remember, I'll try to put these five lines[1] in the .vimrc for some saner defaults
[1] https://news.ycombinator.com/item?id=25410390 https://news.ycombinator.com/item?id=25410390
- outworlder 3y agoWhy don't you SSH _from_ Emacs? If you are editing a remote file there's usually no need to SSH and then invoke an editor. https://willschenk.com/howto/2020/tramp_tricks/ https://willschenk.com/howto/2020/tramp_tricks/
- circuit 3y agoI used to, and I probably would if I had to work with remote files more often. But in my experience I found it faster to just build emacs on the remote server and run it as a daemon there, since all the machines I was working on remotely had /home on an NFS mount. TRAMP took just a little too long to load remote directories for my liking. But in case I am plopped in front of an unknown terminal/have to do something on someone else's machine ... at least I can rely on using the default vim to do basic editing.
- Y_Y 3y agoDoes that mean you have a nice setup for running emacs as a server on a remote machine and connecting via a local client? I've tried this a couple of times but it seems to be prohibitively awkward and I'm stuck with the idiosyncrasies of Tramp or even just saying in a vterm. I'd be very grateful if you (or anyone else) can explain how to do this.
- Scarbutt 3y agoI just run emacs on the remote server (inside tmux), emacs works great on the terminal, in fact, I don't use GUI emacs. code, orgmode, magit are just text.
- jimbokun 3y agoI even started baking emacs into docker images we use for running debugging tools in kubernetes environments. Can quickly edit and run little scripts to do admin and operations and debugging tasks.
- imp0cat 3y agoYou can also use docker-tramp to enter locally running containers and do quick edits without worrying about installing an editor. It can be suprisingly useful.
- lanstin 3y agoYeah, this is how I do it. If it's a reasonably modern remote image you even get color highlighting. And in a way, it lets me segregate, "on this host, I'm working on this project, on this host I'm on this project, all the state/context is there when I re-activate my tmux ready to see what's up. If I'm writing a lot of code or doing a refactor needing more thought, I'll do it locally, to be sure.
- deleted 3y ago[deleted]
- bb88 3y agoRemember when there was an embedded web browser in emacs? https://www.emacswiki.org/emacs?action=browse;oldid=EmacsWebWowser;id=eww https://www.emacswiki.org/emacs?action=browse;oldid=EmacsWeb...
- kagevf 3y agoIs there a preferred way to do the equivalent of xref_find_definitions when using tramp?
- NERD_ALERT 3y agoVimscript is a pain but these days you can use Neovim which supports Lua as a replacement. I’d recommend checking out what Neovim has to offer. ThePrimeagen has a great video on setting up Neovim as an IDE from scratch. https://m.youtube.com/watch?v=w7i4amO_zaE https://m.youtube.com/watch?v=w7i4amO_zaE
- rjzzleep 3y agoI mean it's a matter of preference, I personally find vimscript a lot more readable for vim configuration. Maybe not for more advanced stuff, I don't know, but how is the following: vim.keymap.set("n", "K", vim.lsp.buf.hover, { buffer = buffnr, desc = "vim.lsp.buf.hover" }) vim.api.nvim_buf_set_keymap(bufnr, "n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>") better than nmap K :lua vim.lsp.buf.hover()<CR> It's like the javafication of vim configuration.
- RMPR 3y agoWhile I wholeheartedly agree, you don't have to sprinkle Lua everywhere, you can use both. As a matter of fact, I do[0]. And when I want to enable a setting on the fly in the editor, I still use the vimscript version. But Lua is way nicer to work with the moment you do something non trivial. For example, I've never been able to make sense out of vimscript string interpolation. 0: https://github.com/RMPR/dotfiles/blob/master/.config/nvim/init.vim https://github.com/RMPR/dotfiles/blob/master/.config/nvim/in...
- pseudostem 3y agoThank you. Been a vi (not vim, vi) user for decades for editing files in /etc. Tried using vim, neovim, Emacs, mg, etc a month ago and quickly went back to pycharm which hogs resources on my ancient computer. Have been looking for a "how-to" on various editors. This video seems to be it for neovim. Offtopic: I'll pay you in blood for configs for fvwm
- lenkite 3y agoNeovim supports Lua and Fennel (a Lisp atop Lua) https://fennel-lang.org/ https://fennel-lang.org/ https://github.com/Olical/aniseed https://github.com/Olical/aniseed