Earlier quoted context omitted.
I own no windows machines but afaik it should run OK on windows. Emacs is a pretty good application platform that glosses over lots of OS inconsistencies. :)
I heard that some addons (like magit and vterm) run much worse on Windows than on Unix-like. That's my main concern. Maybe it's an outdated view tho.
Emacs Bedrock: A minimal Emacs starter kit
71–80 of 132 posts
Re: Emacs Bedrock: A minimal Emacs starter kit
#72Earlier quoted context omitted.
First, for every IDE experience you definitely need flycheck mode: (use-package flycheck :diminish flycheck-mode :init (global-flycheck-mode)) This will underline syntax errors for you. (It'll use the language server as a backend once lsp-mode runs.) Next we install and set up "company-mode" for simple autocompletion. Basically, it starts the (minor) company mode after starting "lsp-mode", sets up key bindings and re…
Sounds great, I love time-consumingly setting up a bunch of fragile config for a less-than-fully-functional result instead of a 1-click installation of any number of IDEs that require none of that and work better and more completely in every way
See, if you hate "lsp-mode" and "lsp-ui" you can go for the more minimal "eglot.el". Similarly, you can exchange "company.el" with "corfu.el" if you prefer the latter. It's all about freedom of choice. Emacs means to many people different things.
The code I pasted, however, are standard "use-package" expressions that work the same for every Emacs extension. And all of the configuration options you've got for an extension are usually well documented on the corresponding project page (at least for matured ones). And if you look closely, I haven't actually made a lot of modifications -- so the lines actually boil down to just installing five extensions.
While language ecosystems evolve so is Emacs and correspondingly my Emacs configuration. Sometimes you'll need to look into new alternatives. Especially in web development I'll probably need to switch over to "javascript-ts-mode" for JS and "typescript-ts-mode" for TS soon. For my configuration this will mean I'll remove the lines corresponding to "web-mode" and modify my language server client like this:
(use-package lsp-mode
:commands (lsp lsp-deferred)
:hook
(lsp-mode . gernoti/lsp-mode-setup)
- (js-mode . lsp-deferred)
- (typescript-mode . lsp-deferred)
- ;; We only turn lsp-mode on if web-mode runs in JSX or TSX mode.
- (web-mode . gernoti/lsp-deferred-maybe-jsx)
+ (js-ts-mode . lsp-deferred)
+ (typescript-ts-mode . lsp-deferred)
:init
(setq lsp-keymap-prefix "C-c l") ;; Or 'C-l', 's-l'
:config
;; You want this if you want to discover all lsp mode's goodies.
;; Though I found I actually don't use many features, really.
(lsp-enable-which-key-integration t))
That's about it.So it's not like I have to trash all of my configuration every other week. But it certainly looks a bit obscure to someone who is not familiar with ELISP. For me learning that to some extent has certainly has paid off as I did not have to relearn a new editor every couple of years.
Re: Emacs Bedrock: A minimal Emacs starter kit
#73yes But can someone please tell me how to get typescript auto complete like vscode (eg auto import, linting) that also works for jsx. running tests. oh and simple auto complete. i couldn’t get that to work with https://github.com/viksit/prelude/blob/master/init.el as someone else said - need to get work done :))
Re: Emacs Bedrock: A minimal Emacs starter kit
#74If you’re running emacs 29+ I posit you get less value out of a starter kit or framework than beforehand. Treesitter is baked in for syntax, eglot is baked in for language servers (intellisense), project and tab-bar give you scoped workspaces. use-package is baked in for downloading and configuring dependencies. Modus-themes are also built in now, so you can use modus-operandi and modus-vivendi out of the box. Two in…
Oh wow thanks for this. Just deleted a bunch of config and packages.
Re: Emacs Bedrock: A minimal Emacs starter kit
#75Earlier quoted context omitted.
> Emacs is a relic People were saying that when I started using it, over 20 years ago. Apparently I was supposed to be using Notepad++ or some MS program du jour which no one remembers now. I wouldn't be surprised if I keep using it for the rest of my career. > it can take weeks of configuring More like decades ;) > to get it anywhere near as productive as something like VS Code or Jetbrains IDE Nope - it's significa…
Processing text is like 10% of time and 5% of effort of software development. emacs fails at basic core IDE features like semantic location of variable declaration and usage out of the box
This can only work if the editor internalizes the corresponding language. That does not scale for all languages available.
That’s exactly what the language server protocol is all about (and certainly what parsers like tree sitter are there for). Emacs can connect to those and acquire semantic analysis capabilities. The degree to which such a semantic language features will work for you will also depend strongly on the language, of course.
If you use a commercial editor it’ll jump start you for the popular languages. But, say, you wanted to program in Raku or Scheme you’ll also going to need to fiddle around.
Re: Emacs Bedrock: A minimal Emacs starter kit
#76Earlier quoted context omitted.
I'm a casual emacs user for 30 years. Decided to give prelude a try after reading this... 2 minutes in: "" keybinding is discouraged! Use instead." Ok, well, then. Time to uninstall.
It's very much worth taking it as true. I was in the same position as you initially and it took a week or two to get the muscle memory but it's so smooth to navigate using keys near the home row compared to arrow keys.
Dug out a quote from Guy Steele on why the key bindings in emacs got this way:
[...] not being a human-factors guy at all, I
didn't think at all about convenience for touch typists. I was
principally concerned with mnemonic value. And so that's why Meta-C and
Meta-L and Meta-U stand for capitalize and lowercase and uppercase.
(from Peter Siebel's Coders At Work, quoted here https://classiccmp.org/pipermail/cctech/2015-August/008498.h...)Re: Emacs Bedrock: A minimal Emacs starter kit
#77Well, I haven't updated my configuration in many years... I've never heard of any of the extra packages this kit installs outside of Avy (but I use ace-jump). Some do look nice though. One thing I feel is a strange one to optimize for: startup times. Typical Emacs use is to start it once when the graphical interface of the system starts, and never turn it off. What's even the point of this optimization?
Re: Emacs Bedrock: A minimal Emacs starter kit
#78Earlier quoted context omitted.
> I'd love to see what you're referring to There is Google, you know. https://ergoemacs.github.io/ It's the biggest thing to happen to Emacs in 30 years. That is presumably why all the beardies ignore it. I used to know 20-30 totally different editors. That all went away circa 1990 when the CUA UI swept the world. https://en.wikipedia.org/wiki/IBM_Common_User_Access All late-era DOS stuff, and Windows >= 3.x, Mac OS…
>It's the biggest thing to happen to Emacs in 30 years. That is presumably why all the beardies ignore it. Clearly bearing the costs of a wrong decision - learn vim keybindings 30 years ago, and use it in every popular editor and ide, including emacs, ever since. Only half-joking.
That's sort of the point.
I learned all those editors (VMS EDT and RPED and LocoScript and Edlin and WordStar and WordPerfect and DisplayWrite and MultiMate and loads of BASIC editors, including the very strange RISC OS one, with two independent cursors) before I ever saw Vi for the first time, which was on SCO Xenix in about 1989 or so.
Vi was just another weird editor to me, a supercharged Edlin and you'd have to be mad to love Edlin.
So I learned the bare rudiments and moved on. Then a wave of standardisation happened across the industry, and I surfed it and it was great. Suddenly all mainstream editors used the same UI and it was so much easier.
Then [record scratch, fast forward] in 2014 I got a job in a Linux vendor and discovered all these rabid Vim enthusiasts in the 21st century. I was amazed. Later I got a job in a _different_ Linux vendor, where we had a significant presences of Emacs fans.
I never thought I'd meet keen Vi(m) users who weren't born yet when MS-DOS 5 got a full screen editor. I thought all that nastiness had gone away.
So, yes, there are these 2 camps who learned one set of UI, way back when, and love it: Vi users and Emacs users. I am not saying either is wrong. But there is another camp that doesn't know it's a camp: the millions of unknowing CUA users.
Emacs is meant to be the ultimate in configurability. Well configure it to look like an editor from the 1990s instead of the 1970s, and I'll try it.
But I'm not learning another new 1970s editor now, after 40 years of this stuff. Hard no.
I am not a programmer. I don't care how good it is for programmers. I write human language. I need an editor for that: Markdown, these days, mainly.
Re: Emacs Bedrock: A minimal Emacs starter kit
#79Earlier quoted context omitted.
> I'd love to see what you're referring to There is Google, you know. https://ergoemacs.github.io/ It's the biggest thing to happen to Emacs in 30 years. That is presumably why all the beardies ignore it. I used to know 20-30 totally different editors. That all went away circa 1990 when the CUA UI swept the world. https://en.wikipedia.org/wiki/IBM_Common_User_Access All late-era DOS stuff, and Windows >= 3.x, Mac OS…
> All late-era DOS stuff, and Windows >= 3.x, Mac OS X and ~all Linux GUIs are compliant. CUA was "influenced" by the old Mac OS Human Interface Guide mid/end 80s. The influence on macOS (as it is called now) is tiny. macOS is mostly not compliant.
CUA was 100% clearly IBM's response to the Apple HIG. But it was a good one and mostly it's won. It did adopt Apple's Ctrl-X/C/V for cut/copy/paste, but that's about all.
Mac OS X isn't very compliant, no, but it's quite a bit closer than Classic MacOS was, and I find that very welcome. The menus, the hotkeys, the editing keys and so on mostly just work. All you do is use Cmd instead of Ctrl and it becomes invisible.
Re: Emacs Bedrock: A minimal Emacs starter kit
#80Emacs is a relic, it can take weeks of configuring to get it anywhere near as productive as something like VS Code or Jetbrains IDEs. If you want to procrastinate for a few months it's the perfect tool.
> Emacs is a relic It's true. The thing is, so is Unix. And yet we use it. So is macOS because it's a Unix™. So is Windows, it's just a newer relic (from 1993 instead of ~1973). We don't have anything left that are not relics any more. The relics got good enough that we stopped trying.