Zsh Vim-modus

Zsh Vim Modus



De Zsh Vim-modus eller Vi moter kan aktiveres ved å utføre bindkey -v kommando eller plassere den i krympe fil. I hovedsak aktiverer denne kommandoen Vi(m)-redigeringsnøkkelbindingene for Z-Shell. Så du kan bruke vim-modusbytte og bevegelseskommandoer rett i terminalen utenfor Vim.

I denne opplæringen vil jeg utforske Zsh vim-modus, hvordan du setter den opp i Zsh og Oh My Zsh, og andre diskutere alternativer for å forbedre vim-modus i Zsh.

Merk: Typisk, vi moter begrepet brukes; i denne guiden vil jeg bruke både vi-modus og vim-modus om hverandre.







Zsh Vim-modus

Du må være kjent med den typiske funksjonaliteten til Vim hvis du bruker den til redigering, utvikling eller dokumentbehandling. Vim har forskjellige redigeringsmoduser som normal, innsettings- eller kommandolinjemodus. Vim har også sine egne filnavigeringstastbindinger. Hvis du vil bruke den samme opplevelsen i Z-Shell, kan det gjøres ved å bruke vi-modus. Disse nøkkelbindingene kan også stilles inn for Z-Shell, Oh My Zsh og Bash.



Merk: For å utføre instruksjonene gitt i denne veiledningen, bruker jeg Linux (Ubuntu 22.04) der den nyeste Zsh er installert. Plugins installert i denne veiledningen er Linux-spesifikke, så disse kommandoene vil ikke fungere i macOS.



Aktiver Zsh Vim-modus

For å aktivere vim-modus midlertidig i Zsh på Linux eller macOS, kjør bindkey -v kommando.





bindkey - i

For å sette opp den permanente vim-modusen i Zsh, åpne først krympe fil.

Det er to krympe filer i Unix-lignende systemer, en er systemomfattende i /etc katalogen og den andre er brukerdefinert i hjem katalog. Jeg anbefaler å bruke den brukerspesifikke krympe fil, hvis du ikke finner den i hjem katalog, kan du opprette den ved å bruke trykk på ~/.zshrc kommando.

ta på ~/. krympe

Nå åpner du krympe fil i et hvilket som helst tekstredigeringsprogram; Jeg åpner den i Vim editor.

sudo vim ~/. krympe

Sett bindkey -v i krympe fil.

bindkey - i

Når du bytter fra innsettingsmodus til normal modus, kan det være en liten forsinkelse. For å fikse det, sett nøkkeltidsavbruddet til 1 i krympe fil.

KEYTIMEOUT= 1

Nå, lagre og avslutt filen ved å bruke :wq kommandoen eller trykke på shift+zz nøkler.

Bruk nå endringer ved å hente inn krympe fil ved å bruke følgende kommando.

kilde ~/. krympe

Start Zsh på nytt, og Zsh vim-modus er aktivert nå.

Merk: De krympe filen er skjult, for å se de skjulte filene i hjemmekatalogen, bruk ls -a kommando. Alle filnavnene som begynner med en prikk er skjulte filer.

Bruker Zsh Vim-modus

Det er ingen spesiell indikasjon på aktivering av vim-modus i Zsh; du må oppleve det. De Jeg tasten kan brukes til å aktivere sett inn modus, og Esc tasten kan brukes til å gå tilbake til standard eller normal modus.

Zsh vim-modusen er viktig, spesielt når du endrer de lange kommandoene. For eksempel, hvis du glemmer å legge til sudo på begynnelsen av linjen. Bare trykk Esc å gå inn i normal modus og deretter 0 bevegelseskommando for å få begynnelsen av linjen. Nå kan du skrive inn sudo igjen ved å skrive inn sett inn modus.

Dessuten, for å velge teksten, trykk i å gå inn i visuell modus. Trykk på for å slette ordet si , for å dra ordet trykk Ja, det er det . Totalt sett kan du bruke alle Vim-kommandoene ganske praktisk.

dd For å slette kommandoen
åå For å trekke kommandoen
vv For å åpne kommandoen i Vim-editoren for redigering
/ eller ? For å søke etter kommandoene i historien
[telle] x For å slette tegnene
cc Slett kommandoen og aktiver innsettingsmodus
: For å utføre vi-modus-kommandoer

Merk: Hvis du bruker vim-modus, kan over 400 vim-modus-kommandoer listes opp i Zsh ved å trykke kolon : og deretter Komme tilbake nøkler.

Forbedre Zsh Vim Mode gjennom Zsh-Vi-Mode Plugin

Standard vim-modus i Zsh er bra, men mangler mange viktige funksjoner. For eksempel er det ingen indikasjon på modusbytte, noe som kan være frustrerende. For raskt å fikse det, vil jeg anbefale å installere Zsh-Vi-modus plugg inn.

For å få denne plugin, må du ha en Zsh plugin manager installert. Det er mange Zsh plugin-behandlere som Antigen, ZPlug, Zgen, Zinit og Zap. For denne opplæringen vil jeg installere Antigen plugin manager for Zsh.

Det er forskjellige metoder for å installere Antigen plugin manager. Ubuntu har en standard pakkebehandling kalt APT som jeg kan bruke til å installere den.

sudo apt installer zsh - antigen

For å installere det på macOS bruk:

brygg installer antigen

For å lære andre installasjonsmetoder, besøk her .

Etter installasjonen av plugin-behandleren vil jeg installere Zsh We Fashion plugg inn. Åpne krympe fil og plasser følgende linjer i den.

kilde $ HJEM / antigen . zsh

antigenbunt jeffreytse / zsh - vi - modus

antigen gjelder

For å fullføre installasjonsprosessen for plugin, kilde de krympe fil.

kilde ~/. krympe

Nå er plugin-modulen installert; så, når du er i normal modus markøren vil være i blokkstil (▊) mens du er inne sett inn modus markøren vil være i strålestil (▏) . Dessuten vil tekstutvalget være i rødt. Imidlertid kan alle disse innstillingene tilpasses takket være plugin-en.

For å lære mer om funksjonene, funksjonene og tilpasningsalternativene, les her .

Aktiver Vim-modus i Oh My Zsh

Zsh er populært på grunn av dets tilpasningsmuligheter og avanserte funksjoner. Hvis du er Zsh-bruker, må du raskt ha byttet til Oh My Zsh; et åpen kildekode-prosjekt for å forbedre funksjonaliteten til vanilla Zsh.

Tilpasningsalternativene i Oh My Zsh er uendelige, noe som gjør det til et umiddelbart valg for Zsh-brukere. Du kan også aktivere vim-modus i Oh My Zsh ved å bruke vi modus plugg inn. Oh My Zsh har en vi moter plugin, som gir tilleggsfunksjoner bortsett fra standard vi-modusalternativer, for eksempel Vim-modusindikator, forskjellige markørstiler og andre tilpasningsalternativer.

Åpne krympe fil i Vim-editoren.

sudo vim ~/. krympe

Plasser vi modus i plugins-alternativet.

plugins= ( vi - modus )

Nå, lagre og avslutt filen med :wq kommando og kilde den.

kilde ~/. krympe

Nå vil du få forskjellige indikasjoner for moduser og valg. Du kan også endre markørindikasjonen for ulike moduser.

Normalen er indikert med <<< på høyre side av terminalvinduet, mens innsettingsmodusindikasjonen er deaktivert som standard, men den kan aktiveres ved å spesifisere den i krympe fil.

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

Nå, den + tegnet vises som indikasjon for innsettingsmodus. Fargen og indikatortegnet kan endres.

Les mer om tilpasningsalternativene for denne plugin-en fra her .

Deaktiver Vim-modus i Zsh

I noen situasjoner kan vim-modusen være et hinder. Heldigvis kan den deaktiveres ved å bruke bindkey -e kommando i Zsh.

bindkey - Det er

Denne kommandoen aktiverer standard Emacs-tastbindinger, men midlertidig for gjeldende økt. For å gjøre det permanent, fjern bindkey -v kommando og erstatt den med bindkey -e i krympe fil.

Konklusjon

Vim-modusen i Zsh aktiverer Vim-lignende nøkkelbinding i Z-skallet. Det lar oss redigere og navigere kommandoene ved å bruke Vim-tastbindingen. Det kan være supernyttig for en vanlig Vim-bruker. Videre kan den enkelt aktiveres ved å plassere bindkey -v kommando i krympe fil. Vanilla vim-modusen mangler mange funksjoner, men dette gapet kan fylles ved hjelp av plugins. Vim-modusen er også tilgjengelig for Oh My Zsh; igjen, Oh My Zsh-plugins forbedrer den grunnleggende vim-modusopplevelsen.