Gebruik Vim-commando's in Bash

De shell Bash heeft een geschiedenis van commando's die je ingetypt hebt, waar je met een aantal toetsencombinaties door kunt navigeren. Standaard zijn die toetsencombinaties afgeleid van de editor Emacs, maar je kunt ze ook aanpassen aan de syntax van Vim.

Door Webwereld redactie |Webwereld

Bash houdt zijn geschiedenis van ingetypte commando's bij in een bestand (~/.bash_history), en je kunt vanaf de opdrachtregel door de lijnen navigeren en ze zelfs aanpassen. Dat gaat met toetsencombinaties die van de Emacs-syntax afgeleid zijn, zoals Ctrl+P en Ctrl+N voor het vorige respectievelijk het volgende commando, Ctrl+R string om naar het vorige commando waarin string voorkomt te gaan, Ctrl+B en Ctrl+F om een teken naar links versus rechts te schuiven en Esc+B en Esc+F voor een woord naar links versus rechts.

Voor verstokte gebruikers van Vim lijken deze toetsencombinaties echter Chinees. Zou het niet handiger zijn als je met je vertrouwde Vim-commando's door de geschiedenis in Bash kunt navigeren? Gelukkig is daar heel eenvoudig iets aan te doen: met het commando set -o vi (dat je in het opstartscript ~/.bashrc kunt aanroepen). Je moet dan wel in Bash telkens eerst op Esc duwen om de commandomodus van Vim te activeren. Daarna ga je met k en j naar het vorige respectievelijk het volgende commando, met /string ga je naar het vorige commando waarin string voorkomt, met h en l schuif je naar een teken links versus rechts en met b en w schuif je een woord naar links versus rechts. Als je deze Vim-mode overigens ook in andere programma's wilt die de GNU readline bibliotheek gebruiken, zoals lftp, mysql en bc, dan kan dat met het volgende commando:

echo 'set editing-mode vi' >> ~/.inputrc

Bron: Techworld