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 ~/. krympePut den bindkey -v i krympe fil.
bindkey - iNå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 ~/. krympeGenstart 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 - antigenFor at installere det på macOS skal du bruge:
bryg installere antigenFor 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 . zshantigenbundt jeffreytse / zsh - vi - mode
antigen påføres
For at fuldføre installationsprocessen af plugin, kilde det krympe fil.
kilde ~/. krympeNu 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 ~/. krympePlacer vi-mode i plugins-indstillingen.
plugins= ( vi - mode )
Gem og afslut nu filen vha :wq kommando og kilde det.
kilde ~/. krympeNu 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 erDenne 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.