Zsh Vim-tilstand

Zsh Vim Tilstand



Det Zsh Vim-tilstand eller Vi mode kan aktiveres ved at udføre bindkey -v kommando eller placere den i krympe fil. I det væsentlige aktiverer denne kommando Vi(m)-editorens nøglebindinger for Z-Shell. Så du kan bruge vim-tilstandsskift og bevægelseskommandoer lige i terminalen uden for Vim.

I denne tutorial vil jeg udforske Zsh vim-tilstanden, hvordan man sætter den op i Zsh og Oh My Zsh, og andre diskutere muligheder for at forbedre vim-tilstanden i Zsh.

Bemærk: Typisk, vi mode term bruges; i denne guide vil jeg bruge både vi-tilstand og vim-tilstand i flæng.







Zsh Vim-tilstand

Du skal være bekendt med den typiske funktionalitet af Vim, hvis du bruger den til redigering, udvikling eller dokumenthåndtering. Vim har forskellige redigeringstilstande såsom normal, indsæt eller kommandolinjetilstand. Vim har også sine egne filnavigationstastbindinger. Hvis du vil bruge den samme oplevelse i Z-Shell, så kan det gøres ved hjælp af vi-tilstand. Disse nøglebindinger kan også indstilles til Z-Shell, Oh My Zsh og Bash.



Bemærk: For at udføre instruktionerne i denne vejledning bruger jeg Linux (Ubuntu 22.04), hvor den nyeste Zsh er installeret. Plugins installeret i denne vejledning er Linux-specifikke, så disse kommandoer virker ikke i macOS.



Aktiver Zsh Vim-tilstand

For at aktivere vim-tilstand midlertidigt i Zsh på Linux eller macOS, skal du udføre bindkey -v kommando.





bindkey - i

For at konfigurere den permanente vim-tilstand i Zsh skal du først åbne krympe fil.

Der er to krympe filer i Unix-lignende systemer, er den ene systemdækkende i /etc mappe, og den anden er brugerdefineret i hjem vejviser. Jeg anbefaler at bruge den brugerspecifikke krympe fil, hvis du ikke kan finde den i hjem mappe, kan du oprette den ved at bruge tryk på ~/.zshrc kommando.

røre ved ~/. krympe

Åbn nu krympe fil i enhver teksteditor; Jeg åbner den i Vim editor.

sudo vim ~/. krympe

Put den bindkey -v i krympe fil.

bindkey - i

Når du skifter fra indsættelsestilstand til normal tilstand, kan der være en lille forsinkelse. For at rette op på det skal du indstille nøglens timeout til 1 i krympe fil.

KEYTIMEOUT= 1

Gem og luk nu filen ved hjælp af :wq kommando eller tryk på skift+zz nøgler.

Anvend nu ændringer ved at købe krympe fil ved hjælp af følgende kommando.

kilde ~/. krympe

Genstart Zsh, og Zsh vim-tilstand er aktiveret nu.

Bemærk: Det krympe filen er skjult, for at se de skjulte filer i hjemmemappen skal du bruge ls -a kommando. Alle filnavne, der starter med en prik, er skjulte filer.

Brug af Zsh Vim-tilstand

Der er ingen speciel indikation om aktivering af vim-tilstand i Zsh; du skal opleve det. Det jeg tasten kan bruges til at aktivere indsætte tilstand og Esc tasten kan bruges til at vende tilbage til standard eller normal mode.

Zsh vim-tilstanden er vigtig, især ved ændring af de lange kommandoer. For eksempel, hvis du glemmer at tilføje sudo i begyndelsen af ​​linjen. Bare tryk på Esc at komme ind i normal tilstand og derefter 0 bevægelseskommando for at få begyndelsen af ​​linjen. Nu kan du skrive sudo igen ved at indtaste indsætte mode.

Desuden skal du trykke på for at vælge teksten i at komme ind i visuel mode. Tryk på for at slette ordet sige , for at rykke ordet tryk Ja det er . Samlet set kan du bruge alle Vim-kommandoer ganske bekvemt.

dd For at slette kommandoen
åå For at trække kommandoen
vv For at åbne kommandoen i Vim-editoren til redigering
/ eller ? For at søge efter kommandoerne i historikken
[tæl] x For at slette tegnene
cc Slet kommandoen og aktiver indsættelsestilstanden
: For at udføre vi-mode kommandoer

Bemærk: Hvis du bruger vim-tilstand, så kan over 400 vim-mode-kommandoer listes i Zsh ved at trykke kolon : og derefter Vend tilbage nøgler.

Forbedre Zsh Vim Mode gennem Zsh-Vi-Mode Plugin

Standard vim-tilstanden i Zsh er god, men mangler mange vigtige funktioner. For eksempel er der ingen indikation af tilstandsskift, hvilket kan være frustrerende. For hurtigt at rette det, vil jeg anbefale at installere Zsh-Vi-Mode plugin.

For at få dette plugin skal du have en Zsh plugin manager installeret. Der er mange Zsh plugin-managere såsom Antigen, ZPlug, Zgen, Zinit og Zap. Til denne tutorial installerer jeg Antigen plugin-manageren til Zsh.

Der er forskellige metoder til at installere Antigen plugin manager. Ubuntu har en standardpakkehåndtering kaldet APT, som jeg kan bruge til at installere den.

sudo apt installer zsh - antigen

For at installere det på macOS skal du bruge:

bryg installere antigen

For at lære andre installationsmetoder, besøg her .

Efter installationen af ​​plugin-manageren installerer jeg Zsh Vi Mode plugin. Åbn krympe fil og placer følgende linjer i den.

kilde $ HJEM / antigen . zsh

antigenbundt jeffreytse / zsh - vi - mode

antigen påføres

For at fuldføre installationsprocessen af ​​plugin, kilde det krympe fil.

kilde ~/. krympe

Nu er plugin'et installeret; så når du er i normal tilstand markøren vil være i blok stil (▊) mens du er i indsætte tilstand markøren vil være i strålestil (▏) . Desuden vil tekstvalget være i rødt. Alle disse indstillinger kan dog tilpasses takket være plugin'et.

Læs mere om funktionerne, funktionerne og tilpasningsmulighederne her .

Aktiver Vim-tilstand i Oh My Zsh

Zsh er populær på grund af dens tilpasningsmuligheder og avancerede funktioner. Hvis du er Zsh-bruger, skal du hurtigt have skiftet til Oh My Zsh; et open source-projekt for at forbedre funktionaliteten af ​​vanilla Zsh.

Tilpasningsmulighederne i Åh min Zsh er uendelige, hvilket gør det til et øjeblikkeligt valg for Zsh-brugere. Du kan også aktivere vim-tilstanden i Oh My Zsh ved hjælp af vi-mode plugin. Oh My Zsh har en vi mode plugin, som giver yderligere funktioner udover standard vi-tilstandsindstillingerne, såsom Vim-tilstandsindikator, forskellige markørstile og andre tilpasningsmuligheder.

Åbn krympe fil i Vim-editoren.

sudo vim ~/. krympe

Placer vi-mode i plugins-indstillingen.

plugins= ( vi - mode )

Gem og afslut nu filen vha :wq kommando og kilde det.

kilde ~/. krympe

Nu vil du få forskellige indikationer for tilstande og valg. Du kan også ændre markørindikationen for forskellige tilstande.

Normalen er angivet med <<< på højre side af terminalvinduet, mens indsættelsestilstandsindikationen er deaktiveret som standard, men den kan aktiveres ved at angive den i krympe fil.

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

Nu, den + tegnet vises som indikation af indsættelsestilstand. Farven og indikatortegnet kan ændres.

Læs mere om tilpasningsmulighederne for dette plugin fra her .

Deaktiver Vim-tilstanden i Zsh

I nogle situationer kan vim-tilstanden være en hindring. Heldigvis kan det deaktiveres vha bindkey -e kommando i Zsh.

bindkey - det er

Denne kommando aktiverer standard Emacs nøglebindinger, men midlertidigt for den aktuelle session. For at gøre det permanent skal du fjerne bindkey -v kommando og erstat den med bindkey -e i krympe fil.

Konklusion

Vim-tilstanden i Zsh aktiverer den Vim-lignende nøglebinding i Z-skallen. Det giver os mulighed for at redigere og navigere i kommandoerne ved hjælp af Vim-tastbindingen. Det kan være super gavnligt for en almindelig Vim-bruger. Desuden kan det nemt aktiveres ved at placere bindkey -v kommando i krympe fil. Vanilla vim-tilstanden mangler mange funktionaliteter, men dette hul kan udfyldes ved hjælp af plugins. Vim-tilstanden er også tilgængelig for Oh My Zsh; igen, Oh My Zsh-plugins forbedrer den grundlæggende vim-tilstandsoplevelse.