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å ~/. krympeNå åpner du krympe fil i et hvilket som helst tekstredigeringsprogram; Jeg åpner den i Vim editor.
sudo vim ~/. krympeSett bindkey -v i krympe fil.
bindkey - iNå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 ~/. krympeStart 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 - antigenFor å installere det på macOS bruk:
brygg installer antigenFor å 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 . zshantigenbunt jeffreytse / zsh - vi - modus
antigen gjelder
For å fullføre installasjonsprosessen for plugin, kilde de krympe fil.
kilde ~/. krympeNå 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 ~/. krympePlasser vi modus i plugins-alternativet.
plugins= ( vi - modus )
Nå, lagre og avslutt filen med :wq kommando og kilde den.
kilde ~/. krympeNå 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 erDenne 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.