Zoals ik eerder deze week al schreef, ik probeer me weer te verdiepen in de wondere wereld van emacs. Ik vind het een interessant idee dat er software is die al zo lang bestaat, die ogenschijnlijk alles kan, van programmeren tot taakmanagement, email en nieuws lezen, en die zeer uitbreidbaar is. Emacs is geen eenvoudige software om mee te starten, dat heb ik al vaker gemerkt.
De afgelopen dagen heb ik tussen werk en gezin door weer eens geprobeerd om emacs eigen te maken. Maar het is me nogal een leercurve. Een paar eerste gedachten na een dag of vier met emacs proberen te werken…
Spacemacs gedoe
Op aanraden van een aantal kenners heb ik Spacemacs geïnstalleerd. Dat ging helaas al niet zonder slag of stoot. Ik moest al direct een verborgen bestand verwijderen zodat de Spacemacs installatie het opnieuw kan schrijven.
Spacemacs start op met een scherm met enorm logo, links naar documentatie, onnodige overige links. Ik wil dat niet. Ik wil bijvoorbeeld een lijst met favoriete bestanden maken, een lijst met recent geopende bestanden. Het zal vast mogelijk zijn, maar ik heb geen idee hoe ik dat startscherm weg krijg.
Configuratie
Ik vermoed dat alles via configuratiebestanden gaan die tekstgebaseerd zijn. Ik probeer daar nog van weg te blijven en zoveel mogelijk te doen als een beginnende gebruiker. Dat maakt het al direct lastig. Het valt me op dat veel artikelen en documentatie er direct van uit gaan dat je weet in welk configuratiebestand je wat kunt aanpassen. Bijvoorbeeld, deze uitleg over de mobiele app MobileOrg (waarover zo meer) geeft een tip “You should edit your Org mode configuration to contain something like this”. Maar welk bestand is dat? En waar staat dat? Hoe werkt dat dan?
Ik wil graag dat elk bestand in Emacs met een fraaier font opstart en in een standaard thema wat ik aangeef. Ik heb geen idee waar en hoe ik dat moet doen.
Toetsenbord-drama
De toetscombinaties! Wie heeft dat bedacht! Als ik een bestand wil opslaan, dan doe ik dat met Command-S (of Control-S op Windows). Gelukkig kan dat wel in Emacs, maar de oorspronkelijke combinatie is C-x C-s (Control-X gevolgd door Control-S). Zo zijn er meer combinaties die ik onmogelijk vindt om te onthouden en te gebruiken. Er zijn absurd veel toetscombinaties om vanalles te doen binnen het programma, maar ze zijn uit een ander tijdperk vermoed ik.
Een bestand sluiten heet in Emacs-lingo “kill buffer” en iets knippen en plakken heet “yank and kill”. Een nieuw venster heet een “frame”. Je snapt, de documentatie is niet heel eenvoudig allemaal. Ik ben gelukkig niet de enige die dit vindt.
Taken in Emacs
Ik ben vooral geïnteresseerd in de zogenaamde org-mode van Emacs. Dat zou een heel krachtige en veelzijdige takenapplicatie zijn. Maar ik snap niet hoe ik er goed gebruik van kan maken. Het is inderdaad relatief eenvoudig om taken en subtaken te maken. Maar dan? Standaard toevoegingen als tags, een datum, een bepaalde context, ik moet bij alles een zoekopdracht doen.
Hoe moet ik dit allemaal op een smartphone doen? Is er nog een andere, meer intuïtieve app dan MobileOrg?
Onboarding
De standaard tutorial in emacs is een prima start maar het is net te beperkt om naderhand vol in emacs te stappen. Je leert in de tutorial de basisprincipes die vooral gaan over navigatie, wat eerste ideeën rondom knippen en plakken en wat
Al met al vind ik de onboarding van Emacs niet meer van deze tijd. Ik verwacht minimaal een stappenplan in beeld hoe je bepaalde taken kunt doen in Emacs. Zoals het bijhouden van een takenlijst, of blogposts schrijven in Markdown. Er zullen vast tutorials voor zijn, maar het zou ingebakken moeten zijn in Emacs.
Hoe verder?
Ik weet dat een Emacs kenner op elk punt een gedegen antwoord kan geven waarom iets is zoals het is of hoe het slim is te doen. Of dat ik iets verkeerds doe. Het zal wel. Het gaat er mij om dat ik voor mij onbekende software redelijk snel eigen kan maken als de onboarding goed is, als er bijvoorbeeld een dagelijkse tip via email is te ontvangen om de basis te begrijpen of als de documentatie is geschreven met een doorsnee eindgebruiker in gedachten. Die doorsnee eindgebruiker is niet altijd meer een programmeur of wetenschapper.
Ik ga nog steeds door en blijf het proberen. Onder andere met de videotips die ik van Neil kreeg (Thanks Neil!), tips uit de Subreddit die ik heb gevonden en met waarschijnlijk veel vallen en opstaan. Tips en aanmoedigingen zijn altijd welkom in de reacties!
Neil Mather says
Replied to Eerste emacs gedachten by Frank Meeuwsen
In at the deep end! Reading your posts has made me realise (remember?) how poor the emacs onboarding experience is. I wish I’d blogged about it when I started up with it again – I can’t remember what I thought about it at the time. The terminology certainly doesn’t help – a lot of it comes from before other terminology became common (copy/paste, window/tab, etc), and there seems to be some resistance to change emacs to match.
I think one very helpful thing to do would be to display the GUI menu – if you press SPC T m (space then T then m) it will toggle the menu bar on and off. That is a fault of Spacemacs – they disable it by default as they say they are keyboard-focused. (I don’t know if spacemacs is the best beginning experience, I just went with it for the vim bindings!). But with the menu bar you should be able to find easily many of the things you want to do, along with their keybindings for future reference.
The main config file is the .spacemacs hidden file in your home directory. You can get to quickly from within Spacemacs by pressing SPC f e d. If you set the value of dotspacemacs-startup-banner to nil, it will hide the big logo on the splash screen. (You can press SPC f e R to reload it without restarting Spacemacs). Also if you just click on [Release Notes] it will hide that. There’s a list of Recent files and Projects below those two things.
The config file is written in Emacs Lisp. I found this pretty confusing for a while! But now, I also like that too, and am teaching myself Lisp. Perhaps I have brainwashed myself ?
It’s good to read your posts about your experience, Frank. There’s no denying it, Emacs is not easy to start with, and it is good to document why. For me it has been worth persevering. But I haven’t used Sublime Text, VSCode, Atom for any long period of time, however, so I can’t compare and contrast.
Frank Meeuwsen says
I like to make life harder and learn on my own, so here’s a recreated wheel! Matt – Evolving my notetaking processes In de afgelopen…