Zsh Vim-modus

Zsh Vim Modus



De Zsh Vim-modus of Wij mode kan worden ingeschakeld door uit te voeren bindsleutel -v commando of plaats het in de krimpen bestand. In wezen schakelt deze opdracht de Vi(m)-editor-sleutelbindingen voor de Z-Shell in. U kunt dus de vim-modusschakeling en bewegingsopdrachten rechtstreeks in de terminal buiten de Vim gebruiken.

In deze tutorial zal ik de Zsh vim-modus verkennen, hoe je deze instelt in Zsh en Oh My Zsh, en andere opties bespreken om de vim-modus in Zsh te verbeteren.

Opmerking: Typisch, wij mode term wordt gebruikt; in deze handleiding zal ik zowel de vi-modus als de vim-modus door elkaar gebruiken.







Zsh Vim-modus

U moet bekend zijn met de typische functionaliteit van Vim als u het gebruikt voor bewerken, ontwikkelen of documentbeheer. Vim heeft verschillende bewerkingsmodi, zoals de normale modus, de invoegmodus of de opdrachtregelmodus. Vim heeft ook zijn eigen toetsbindingen voor bestandsnavigatie. Als u dezelfde ervaring binnen de Z-Shell wilt gebruiken, dan kan dit worden gedaan met behulp van de vi-modus. Deze toetsbindingen kunnen ook worden ingesteld voor Z-Shell, Oh My Zsh en Bash.



Opmerking: Om de instructies in deze handleiding uit te voeren, gebruik ik Linux (Ubuntu 22.04) waarop de nieuwste Zsh is geïnstalleerd. Plug-ins die in deze handleiding worden geïnstalleerd, zijn Linux-specifiek, dus deze opdrachten werken niet in macOS.



Schakel de Zsh Vim-modus in

Om de vim-modus tijdelijk in Zsh op Linux of macOS in te schakelen, voert u het bestand bindsleutel -v commando.





bindsleutel - in

Om de permanente vim-modus in Zsh in te stellen, opent u eerst het krimpen bestand.

Er zijn er twee krimpen bestanden in Unix-achtige systemen, één is systeembreed in de /enz directory en de andere is door de gebruiker gedefinieerd in de thuis map. Ik raad aan om het gebruikersspecifieke te gebruiken krimpen bestand, als u het niet kunt vinden in de thuis directory, kunt u deze maken met behulp van raak ~/.zshrc aan commando.

aanraken ~/. krimpen

Open nu de krimpen bestand in elke teksteditor; Ik open het in de Vim-editor.

sudo vim ~/. krimpen

Zet de bindsleutel -v in de krimpen bestand.

bindsleutel - in

Wanneer u van de invoegmodus naar de normale modus overschakelt, kan er een kleine vertraging optreden. Om dit probleem op te lossen, stelt u de sleuteltime-out in op 1 in de krimpen bestand.

SLEUTELTIMEOUT= 1

Sla het bestand nu op en sluit het met behulp van de :wq commando of druk op de verschuiving+zz sleutels.

Pas nu de wijzigingen toe door de krimpen bestand met behulp van de volgende opdracht.

bron ~/. krimpen

Start de Zsh opnieuw en de Zsh vim-modus is nu ingeschakeld.

Opmerking: De krimpen bestand is verborgen. Om de verborgen bestanden in de thuismap te bekijken, gebruikt u de ls-a commando. Alle bestandsnamen die met een punt beginnen, zijn verborgen bestanden.

Zsh Vim-modus gebruiken

Er is geen speciale indicatie over het inschakelen van de vim-modus in de Zsh; je moet het ervaren. De i sleutel kan worden gebruikt om de invoegen modus, en de Esc sleutel kan worden gebruikt om terug te keren naar de standaard of normaal modus.

De Zsh vim-modus is belangrijk, vooral bij het wijzigen van de lange opdrachten. Als u bijvoorbeeld vergeet de sudo aan het begin van de regel toe te voegen. Druk eenvoudigweg op Esc om de in te voeren normaal modus en vervolgens de 0 bewegingsopdracht om het begin van de regel te krijgen. Nu kunt u het sudo opnieuw door de invoegen modus.

Om de tekst te selecteren, drukt u bovendien op in om de in te voeren visueel modus. Om het woord te verwijderen, drukt u op inspraak , om aan de woordpers te rukken Ja dat is zo . Over het algemeen kun je alle Vim-opdrachten heel gemakkelijk gebruiken.

dd Om de opdracht te verwijderen
jj Om het commando te rukken
vv Om de opdracht in de Vim-editor te openen voor bewerking
/ of ? Om de opdrachten in de geschiedenis te doorzoeken
[tel]x Om de tekens te verwijderen
cc Verwijder de opdracht en schakel de invoegmodus in
: Om de vi-mode-opdrachten uit te voeren

Opmerking: Als u de vim-modus gebruikt, kunnen er meer dan 400 vim-mode-opdrachten in de Zsh worden weergegeven door op de dubbele punt te drukken : en dan de Opbrengst sleutels.

Verbeter de Zsh Vim-modus via de Zsh-Vi-Mode-plug-in

De standaard vim-modus in Zsh is goed, maar mist veel belangrijke functies. Er is bijvoorbeeld geen indicatie dat er van modus wordt gewisseld, wat frustrerend kan zijn. Om het snel te verhelpen, raad ik aan om de Zsh-Vi-modus inpluggen.

Om deze plug-in te krijgen, moet een Zsh-plug-inmanager geïnstalleerd zijn. Er zijn veel Zsh-plug-inbeheerders zoals Antigen, ZPlug, Zgen, Zinit en Zap. Voor deze tutorial installeer ik de Antigen plugin manager voor Zsh.

Er zijn verschillende methoden om de Antigen-plug-inmanager te installeren. Ubuntu heeft een standaard pakketbeheerder genaamd APT die ik kan gebruiken om het te installeren.

sudo apt installeer zsh - antigeen

Om het op macOS te installeren, gebruikt u:

brouwen installeren antigeen

Bezoek voor meer informatie over andere installatiemethoden hier .

Na de installatie van de plug-inbeheerder, zal ik de Zsh We mode inpluggen. Open de krimpen bestand en plaats de volgende regels erin.

bron $ THUIS / antigeen . zsh

antigeenbundel Jeffreytse / zsh - Wij - modus

antigeen van toepassing

Om het installatieproces van de plug-in te voltooien, bron de krimpen bestand.

bron ~/. krimpen

Nu is de plug-in geïnstalleerd; dus als je in de normaal modus waarin de cursor zich bevindt blok stijl (▊) terwijl je binnen bent invoegen modus waarin de cursor zich bevindt straalstijl (▏) . Bovendien is de tekstselectie rood. Al deze instellingen kunnen echter worden aangepast dankzij de plug-in.

Lees voor meer informatie over de functionaliteiten, kenmerken en aanpassingsopties hier .

Schakel de Vim-modus in Oh My Zsh in

Zsh is populair vanwege de aanpasbaarheid en geavanceerde functies. Als je Zsh-gebruiker bent, dan ben je vast snel overgestapt op de Oh My Zsh; een open-sourceproject om de functionaliteit van vanilla Zsh te verbeteren.

De aanpassingsmogelijkheden in Oh mijn Zsh zijn eindeloos, waardoor het een onmiddellijke keuze is voor Zsh-gebruikers. Je kunt de vim-modus in Oh My Zsh ook inschakelen met behulp van de wij modereren inpluggen. De Oh My Zsh heeft een wij mode plug-in, die extra functies biedt naast de standaard vi-modusopties, zoals de Vim-modusindicator, verschillende cursorstijlen en andere aanpassingsopties.

Open de krimpen bestand in de Vim-editor.

sudo vim ~/. krimpen

Plaats de wij modereren in de optie Plug-ins.

plug-ins= ( Wij - modus )

Sla het bestand nu op en sluit het af met behulp van :wq commando en bron Het.

bron ~/. krimpen

Nu krijgt u verschillende indicaties voor modi en selectie. U kunt ook de cursoraanduiding voor verschillende modi wijzigen.

Het normale wordt aangegeven met <<< aan de rechterkant van het terminalvenster, terwijl de indicatie voor de invoegmodus standaard is uitgeschakeld, maar deze kan worden ingeschakeld door deze op te geven in het krimpen bestand.

INSERT_MODE_INDICATOR= '%F{wit}+%f'

Nu de + -teken verschijnt als indicatie van de invoegmodus. De kleur en het indicatieteken kunnen worden gewijzigd.

Lees meer over de aanpassingsmogelijkheden van deze plugin uit hier .

Schakel de Vim-modus uit in Zsh

In sommige situaties kan de vim-modus een hindernis zijn. Gelukkig kan het worden uitgeschakeld met behulp van bindsleutel -e commando in de Zsh.

bindsleutel - Het is

Met deze opdracht worden de standaard Emacs-sleutelbindingen ingeschakeld, maar tijdelijk voor de huidige sessie. Om het permanent te maken, verwijdert u de bindsleutel -v commando en vervang het door bindsleutel -e in de krimpen bestand.

Conclusie

De vim-modus in Zsh maakt de Vim-achtige toetsbinding in de Z-shell mogelijk. Hiermee kunnen we de opdrachten bewerken en navigeren met behulp van de Vim-toetsbinding. Het kan super voordelig zijn voor een gewone Vim-gebruiker. Bovendien kan het eenvoudig worden ingeschakeld door plaatsing bindsleutel -v commando in de krimpen bestand. De vanilla vim-modus mist veel functionaliteiten, maar deze leemte kan worden opgevuld met behulp van plug-ins. De vim-modus is ook beschikbaar voor Oh My Zsh; nogmaals, Oh My Zsh-plug-ins verbeteren de basiservaring in de vim-modus.