Tips en Trucs 2018

Micro terminal teksteditor

Werk je op verschillende systemen en regelmatig op afstand dan is een platform onafhankelijke goede teksteditor een must. En ik heb hem gevonden: micro. Micro is eenvoudig te bedienen en maakt gebruik van de vele mogelijkheden van moderne terminals. Hij is beschikbaar als één bestand, statisch en dus zonder afhankelijkheden, waardoor je micro maar moet downloaden en starten.

Micro beschouwt zichzelf als de opvolger van nano maar concurreert niet met emacs of vim. M.a.w. micro legt de nadruk op gebruiksvriendelijk en niet op geavanceerde functies. Micro is dus geen programmeeromgeving, maar een uitstekende teksteditor die je zowel in een lokale terminal als via ssh kunt gebruiken.

Kenmerken

Een teksteditor zoals micro ontwerpen en bouwen is een project zonder einde. Zo staan op het verlanglijstje van de ontwerpers nog automatisch aanvullen en een boomstructuur.

Installatie

De micro teksteditor bestaat uit één bestand per platform die je van het internet kunt downloaden via github. Aangezien micro teksteditor op het internet is opgeslagen in gecomprimeerde tar bestanden en de naam van het bestand het versienummer bevat, hebben de ontwerpers toch een installatie programma geschreven.

Installatie voor de actuele gebruiker

Je kunt versie 1.4.0 voor een Linux 64 bits systeem downloaden en uitpakken door de volgende opdracht uit te voeren:

dany@main:~> curl -L https://github.com/zyedidia/micro/releases/download/v1.4.0/micro-1.4.0-linux64.tar.gz | tar xvz -C ~/bin --no-anchored 'micro' --strip-components 1
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   616    0   616    0     0   1180      0 --:--:-- --:--:-- --:--:--  1182
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0micro-1.4.0/micro
100 3802k  100 3802k    0     0   752k      0  0:00:05  0:00:05 --:--:--  871k
dany@main:~> which micro
/home/dany/bin/micro

De curl opdracht download versie 1.4.0 voor linux64 systemen. Curl geeft de download door aan de tar opdracht om enkel micro (--no-anchored 'micro') uit het archief te halen en in de map met uitvoerbare bestanden van de huidige gebruiker te plaatsen (-C ~/bin). Om de mapstructuur in het archief te negeren werd de optie --strip-components 1 toegevoegd.

De which opdracht bevestigt ons dat micro in de bin map van de Persoonlijke map van dany is terug te vinden. Missie geslaagd.

Installatie voor alle gebruikers

De opdracht om micro voor alle gebruikers te installeren (inclusief de systeembeheerder root) wordt:

dany@main:~> curl -L https://github.com/zyedidia/micro/releases/download/v1.4.0/micro-1.4.0-linux64.tar.gz | sudo tar xvz -C /usr/local/bin --no-anchored 'micro' --strip-components 1
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   616    0   616    0     0    998      0 --:--:-- --:--:-- --:--:--   998[sudo] wachtwoord voor root: 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  2 3802k    2 85547    0     0   6026      0  0:10:46  0:00:14  0:10:32  6428micro-1.4.0/micro
100 3802k  100 3802k    0     0   194k      0  0:00:19  0:00:19 --:--:--  679k
dany@main:~> which micro
/usr/local/bin/micro

Het enige verschil met de vorige installatie opdracht is dat het uitpakken nu als systeembeheerder wordt uitgevoerd (sudo) en in de map /usr/local/bin wordt geplaatst. Om deze opdracht te kunnen uitvoeren, moet je in het bezit zijn van het root wachtwoord ([sudo] wachtwoord voor root:).

Klassieke installatie

Niets belet u het juiste archief via uw browser te downloaden. Het gedownloade archief uit te pakken en het bestand micro naar de correct map te kopiëren (~/bin/ of /usr/local/bin/).

Indien micro is opgenomen in de softwarebronnen van uw distributie kan je micro ook via deze weg installeren.

En waarom niet, je kunt de broncode van micro micro downloaden en zelf compileren.

Systeemklembord gebruiken met micro

Als je onder Linux het systeemklembord met micro wilt gebruiken, moet de opdracht xclip of xsel geïnstalleerd zijn.

dany@main:~> sudo zypper install xclip
[sudo] wachtwoord voor root: 
Ophalen van metagegevens uit installatiebron 'openSUSE-Leap-42.3-Update' ....................................................[gereed]
Cache van installatiebron 'openSUSE-Leap-42.3-Update' wordt gebouwd .........................................................[gereed]
Gegevens van installatiebron laden...
Lezen van geïnstalleerde pakketten...
Pakketafhankelijkheden oplossen...

Het volgende NIEUWE pakket zal worden geïnstalleerd:
  xclip

1 nieuw te installeren pakket.
Totale downloadgrootte: 25,7 KiB. Reeds in de cache: 0 B. Na de bewerking zal aanvullend 49,2 KiB worden gebruikt.
Doorgaan? [j/n/...? alle opties tonen] (j): 
pakket xclip-0.12-4.1.x86_64 wordt opgehaald                                                   (1/1),  25,7 KiB ( 49,2 KiB uitgepakt)
Ophalen: xclip-0.12-4.1.x86_64.rpm ..........................................................................................[gereed]
Controleren op conflicten tussen bestanden: .................................................................................[gereed]
(1/1) Installeren van: xclip-0.12-4.1.x86_64 ................................................................................[gereed]

Werken met micro

Micro start je zoals vele andere teksteditors met het bestand dat je wilt bewerken:

dany@main:~> micro Downloads/micro-1.4.0/README.md
micro teksteditor

Of je kunt tekst afkomstig van een opdracht rechtstreeks aanpassen met micro. Micro kan dan echter niet zelfstandig bepalen met welk bestandtype (-formaat) het te maken heeft en geeft de tekst weer zonder syntax markering.

Om de cursor te verplaatsen gebruik je de pijltoetsen of de muis. Tekst selecteer je door te slepen, met een dubbelklik selecteer je een woord en met een drie dubbele klik selecteer je een volledige regel.

Druk Ctrl+e om de opdrachtregel te activeren. Typ de opdracht help om een deelvenster met de helptekst van micro te openen. Met Ctrl+q (quit) sluit je het actieve deelvenster.

Opdrachten gebruiken opties, de opdracht help keybindings bijvoorbeeld opent het help deelvenster met een overzicht van te gebruiken sneltoetsen. De volgende help teksten zijn aanbevolen lectuur:

De helptekst help tutorial bevat een korte introductie tot de krachtige instelmogelijkheden van micro.

Eén functie die een goede teksteditor volgens mij moet hebben, is het bijhouden waaraan je de vorige keer werkte. Of m.a.w. de cursor staat bij het openen van de tekst op de juiste plaats om verder te werken. Dit stel je in micro met de volgende opdracht in:

set savecursor true

Met de set opdracht heb ik de savecursor optie ingeschakeld (true).

Na het aanpassen van één optie (afwijken van de standaard configuratie) verschijnt er in de map ~/.config/micro/ het configuratiebestand settings.json. Dit kan je vanzelfsprekend ook aanpassen met micro:

dany@main:~> micro .config/micro/settings.json

Besef wel dat het aanpassen van het configuratiebestand met een teksteditor veel riskanter is dan het configureren vanuit micro zelf. In onderstaande afbeelding heeft micro het configuratiebestand geopend, wordt het help venster met de options weergegeven en staat de opdracht om de ongedaan maken buffer op te slaan te activeren klaar om uitgevoerd te worden.

micro teksteditor instellen

Om via een SSH-verbinding op afstand te werken, maak ik gebruik van sshfs waarmee je een bestandssysteem op afstand lokaal beschikbaar kunt maken. Zo hoef je micro of een andere editor enkel lokaal te installeren en in te stellen en kan je gebruik maken van het lokale klembord bij het kopiëren, knippen en plakken:

dany@main:~> mkdir pindabook

Zorgt voor een lokale map waar we de inhoud van het bestandssysteem op afstand kunnen bereiken.

dany@main:~> sshfs -o follow_symlinks dany@pindabook: pindabook/
Password:

Maakt als gebruiker dany een SSH verbinding naar het apparaat met de naam pindabook en maak deze bereikbaar via de map pindabook/ (aan deze map koppelen). De optie follow_symlinks zorgt ervoor dat snelkoppelingen (symbolische koppelingen of symlinks) verwijzen naar een map op het apparaat op afstand.

dany@main:~> micro pindabook/Documenten/Systeembeheer/rsyncSNT.sh

Met deze opdracht open je het bestand rsyncSnt.sh in de map Documenten/Systeembeheer/ in de Persoonlijke map van dany op het apparaat op afstand. Je kunt deze in micro aanpassen juist alsof het een lokaal tekstbestand is. Na het aanpassen en opslaan van het tekstbestand kan je de SSH verbinding verbreken met de opdracht:

dany@main:~> fusermount -zu pindabook/
dany@main:~> ls -l pindabook/
totaal 0

De tweede opdracht bewijst dat de map leeg is en de SSH verbinding verbroken werd.

Conclusie

Deze editor heb ik pas ontdekt en ik ben al helemaal verkocht. Zo zijn de gebruikte kleuren goed te lezen, is micro eenvoudig te gebruiken en in te stellen en bevat deze alle functies die ik in een teksteditor nodig heb. Uitgezonderd misschien het automatisch aanvullen, maar daar komt hopelijk snel verandering in. Voor mij is het eveneens belangrijk om één editor op verschillende platform te kunnen gebruiken (Linux, Windows, macOS, Raspberry Pi).