6 ms·
It is sad that we have to know how to configure tens of small utilities just to be productive. I ended up using emacs with some packages that I configure minima
by klntsky 1y ago
It is sad that we have to know how to configure tens of small utilities just to be productive. I ended up using emacs with some packages that I configure minimally, after spending a few hundreds of hours on ricing the shell, file managers, tmux, etc
- agentultra 1y agoEmacs is why I can't go back to terminals.
- vyaa 1y agoI haven’t delved into emacs yet. Don’t you still have it configure it and all its tools?
- School-Cotton 1y agoemacs is a lot easier to configure than anything else IMO because it’s self-documenting. If you want to know how to use or configure some command it’s trivially easy to jump to the source code of that command and just see how it works (or modify it, step through it with a debugger, etc). You can’t do that in any other environment as far as I’m aware. That said, yeah, it certainly doesn’t Just Work out of the box the way something like vscode does.
- jynelson 1y agoyes!! i would love an environment where every binary carries a mapping from the exe back to the source code, DWARF is kinda this but there's very little tooling around it and distros often don't ship it by default. i want something like gdbserver but built into the editor and terminal.
- School-Cotton 1y agoThat is also my dream; doing as much as possible inside emacs, using plugins written in emacs lisp, is basically the closest you can get to it today.
- klntsky 1y agoThere are modifications of emacs that appeal to normies like spacemacs
- iLemming 1y agoWith Emacs one can do some shit in terminal that otherwise would just sound absurd. Like - in Emacs' Eshell, one can pipe results in and out of buffers, e.g., you can run a command, then pipe it to grep/ripgrep, then pipe the results into a buffer (without any intermediate files). - Conversely, you can read a buffer content and pipe it into a command. - Or you can do simple calculations, you just need to use prefix notation e.g. `* 3 42` or `(* 2 pi)`. - You can run regular emacs functions, like `dired .` or `magit-status`, `find-file ~/foo` or `(calendar)`. - Or you can use Emacs vars and functions directly, e.g., `cd $org-directory`, or `cd (projectile-project-root)`, or `mkdir (format-time-string "backup-%Y%m%d")` - You can absolutely delegate some (potentially long running) tasks to run in an outside terminal. I wrote this command eshell-send-detached-input-to-kitty¹, it uses Kitty Terminal's socket control feature. There are integrations that you can only dream about, one recent example is John Wiegley (creator of Eshell) and Karthik (author of gptel package) having to experiment with piping things in and out of LLMs. Sure, the backwards is also possible - you can emacs from a terminal, but terminaling from inside emacs is way more cooler. ___ ¹ https://github.com/agzam/.doom.d/blob/main/modules/custom/shell/autoload/eshell.el#L116 https://github.com/agzam/.doom.d/blob/main/modules/custom/sh...
- deleted 1y ago[deleted]
- adastra22 1y agoWhy is any of that absurd? That seems like typical terminal stuff.
- School-Cotton 1y agoNot really. The point is you're interacting with the full-blown Lisp development environment that is emacs and all the software it contains. A normal terminal doesn't let you reach into the internals of the software you're running in it, it just lets you chain that software together in predetermined ways.
- adastra22 1y ago
- bowsamic 1y agoI hate configuring things. I tried to use PyCharm and it works great until it doesn't, then it's a nightmare. For example, the ruff support is non-existent and the only plugin is broken as hell. I think at some point you just have to accept it won't be perfect, but it is sad because I can "imagine" the perfect IDE. I just don't have the time or energy to make it reality, and apparently neither do Jetbrains
- iLemming 1y agoI don't think it's Jetbrain's fault, even though I have not used their products for almost a decade. Python ecosystem is finicky - too many options - it's hard to decide which things you want and need - black or yapf or ruff, flake8, rope, mypy, pydocstyle, pylint, jedi; there are multiple lsp server options (none of which is ideal), you get to know things like what the heck 'preload' plugin is - the docstring for lsp-pylsp-plugins-preload-enabled just says "Enable or disable the plugin", etc. Trying to bootstrap a Python setup "that just works™" is also a common struggle e.g. in Emacs world. Python tools are just a bunch of contraptions built with fiddlesticks and bullcrap. Anyone who tells you differently either already have learned how to navigate that confusing world and totally forgot "the beginner's journey"; or too new and have not tussled with its tooling just yet; or simply don't know any better.
- kjkjadksj 1y agoI make do with just nano and basic pane/window/sockets in tmux. Certainly didn’t put in a few hundred hours learning this. Not even a few hundred minutes.
- sevensor 1y agoI use kakoune + tmux very happily, and between the two of them I’ve spent maybe two hours on config in the last eight years. There’s a point of rapidly diminishing returns once you get past changing the control prefix in tmux to something that doesn’t cause carpal tunnel.
- crmi 1y agoI've used vim to the stage that I not only know how to exit it, its muscle memory... And I still prefer nano. Its just better imo.
- adastra22 1y agoThat puts you vastly ahead of most people who encounter vim.