|
|
|
|
|
by weaksauce
3206 days ago
|
|
For the most part it is completely optional to configure it and use elisp... it will ask you if you want to install a layer (group of packages) when you open up a filetype that it knows about and can handle. there is some configuration akin to setting up completion backend, linters, formatters etc that are applicable to your language/filetype of choice. The benefit of that is that the external tools are kept external where development of them can continue unimpeded by the development of the main text editor. similarly, once you get to know the language quirks, it's a decent language that is basically a DSL for text editing. The power you get from being able to lookup how something was implemented by the text editor developers easily is extremely powerful. If you like vim's idea of modal editing, emacs is 100% all about that. languages are major modes, minor modes are functions and keybindings that can be enabled and grouped together at will. transient buffers are used to send output to and are treated as normal buffers that you can do things to. The architecture and extensiblity of emacs is pretty amazing actually. Every key press is just a function and every key can be rebound based on current context using things like mode maps that get layered on top of everything and have precedence based on where you inserted the binding with sensible fallbacks when required. Disclaimer: I love vim as a concept but hate viml and the plugins that were hampered by the lame programming language that was designed by bram. if you have not tried magit and org mode you just don't really understand the power of emacs and the power of having everything be a function. spacemacs just makes setting up that powerful environment fairly painless but it's still a very old architecture with some warts. |
|