Vim 401: Utvide Vim og More

Nå som du har lært deg rundt Vim, ønsket jeg å fokusere den siste brikken i serien om å forlenge Vim med scripts og plugins, og noen andre funksjoner som brukere bør være klar over.

Hvis du har fulgt denne serien så langt, vet du hvordan du skal bevege deg rundt i Vim, sette opp kartlegginger og forkortelser, og konfigurere Vim og ringer eksterne kommandoer. Nå la oss ta en titt på scripts, plugins, og Vim GUI.

Scripts og Plugins

Vim er ikke begrenset til hva du får "out of the box". Det er mulig å forlenge Vim ganske tungt, og mange har lagt til funksjoner til Vim langt og over ren gamle tekstredigering.

Du vet allerede at du kan redigere .vimrc å tilpasse Vim atferd. Ved å legge scripts og plugins, kan du ikke bare tilpasse eksisterende funksjoner, kan du legge til funksjoner eller endre Vim på måter som du ikke kan gjøre gjennom .vimrc.

La oss starte med å installere skript. I hjemmekatalogen, bør du ha en .vim katalogen. Under denne katalogen, bør du ha et skript og plugin-katalogen. Hvis ikke, gå videre og skape dem.

Hva er forskjellen på et manus og en plugin? I utgangspunktet er dette: En plugin er lastet automatisk når Vim starter. Scripts har å være eksplisitt kalt - noe som kan gjøres gjennom .vimrc som dette:

 autocmd Filetype html, xml, xsl kilde ~ /.vim /scripts /closetag.vim 

Eller kanskje du vil å bruke kartlegging for å sette opp en snarvei for å ringe et skript fra tid til annen.

For å installere et skript eller plugin, bare sette dem i den aktuelle mappen. Skrive manus er litt utenfor denne artikkelen, men du kan finne massevis av pre-skrevet skript på Vim.org. Hvis det er noe du kan tenke på at du ønsker å gjøre med Vim, oddsen er noen allerede har skrevet et manus å gjøre det.

La oss se på en rask eksempel for å installere en plugin. En plugin jeg virkelig liker er Bash Support, som slår Vim til en "Bash IDE" for å skrive Bash skript.

For å installere den, ta tak i filen bash-support.vim og legge den i din .vim /plugin katalogen. Noen plugins krever litt ekstra konfigurasjon for å bli lagt til .vimrc. I tilfelle av bash-support.vim, må du definere ditt navn, e-post, og selskapet variabel:

 la g: BASH_AuthorName = 'Første Siste' la g: BASH_Email = 'Denne e-postadressen er beskyttet mot programmer som samler. Du må aktivere Javascript for å kunne se den "la g: BASH_Company = 'Acme Corp' 

Vim vil ikke automatisk laste det, men når du starter Vim vil det belaste det og magi vil begynne å skje. Når du åpner en ny fil som slutter på .sh, vil Vim automatisk lage en header for skriptet som inkluderer dato, informasjon her, og så videre.

Det er bokstavelig talt tusenvis av Vim skript flyter rundt. Fra nyttige verktøy som Bash Support plugin, for å TwitVim - et skript for å bruke Vim å poste til Twitter

En viktig merknad -. Noen skript du finner på nettet kan være i en DOS-format i stedet for UNIX. Hvis dette er tilfelle, vil Vim på Linux kaste noen feil på deg når du starter Vim fordi den prøver å tolke de linjeavslutninger som kommandoer. For å fikse dette, bruker dos2unix kommandoen for å konvertere filen, som skal installeres som standard på de fleste distroer eller tilgjengelig fra repos.

bokmerke i Vim

Når man arbeider på en veldig lang dokument eller når du programmerer, må du kanskje deler du besøker ofte. En måte å bevege seg frem og tilbake, er å søke etter bestemte vilkår som kan være i den delen du ønsker å se. En annen, enklere måte er å bruke Vim merker å sette bokmerker.

Dette er veldig enkelt å gjøre. Når du er i en seksjon der du ønsker å sette et bokmerke, skriver du bare m i kommandomodus, etterfulgt av et brev som skal brukes som bokmerke. Så kan du skrive m en
å sette den første, m b
å sette den andre, etc. Men det som er lettest å huske - Vim krever ikke at bokmerkene være sett i sekvensiell eller hvilken som helst rekkefølge.

Etter at du har satt bokmerket, skriver accent grave karakter og deretter bokstaven for bokmerket, ' n
der n
er bokstaven du har satt for bokmerket. Så å gå for å markere "en" type "en og så videre.

Vær oppmerksom på at merkene er buffer-spesifikke. Så hvis du har flere faner åpne, eller hvis du redigerer to dokumenter i split feltene, kan du ha to en merker, og så videre - å sette et merke i en buffer vil ikke bære over til en annen
<. p> kan
sette globale bokmerker med store bokstaver, men oppførselen er litt uventet. Hvis du har to (eller flere) buffere åpen og kjøre mA på en, vil du sette et merke som heter A. Går inn i en annen buffer, kan du gå tilbake til forrige merket med `En men
Vim vil ønske for å lukke den åpne bufferen først. Så det er mulig å sette globale merkene, men standard oppførsel er litt rart.

Etter timer med vanvittige redigering, er det mulig du kan glemme hvor noen av de merkene er. Ikke noe problem, bare løpe: tegn i kommandomodus. Du vil se omtrent slik ut:

 mark linje col fil /tekst '127 4 dersom &filetype == "html" || finnes ("b: closetag_html_style") en 127 4 dersom &filetype == "html" || finnes ("b: closetag_html_style") b 310 0 funksjon! s: Pop (sname) z 321 0 samtale s: RestoreKeywords () 0 352 30 /usr/share/vim/vim72/doc/starting.txt 1 1 0 ~ /.vimrc 2 5 533 ~ /Desktop /OStatic /christmas_alek. html "1 0" Fil: closetag.vim [1 0 "Fil: closetag.vim]. 327 0 endfunction 

Det viser manuelt sett merker samt noen automatiske tegn (filer redigert tidligere)

GUI Vim

Ja, Virginia, gjør Vim har et GUI. På de fleste Linux distroer, dette er ikke installert som standard. For å få Vim er GUI (vi vil bare si gvim herfra ut) søke i pakken repositories for . gvim

For eksempel, hvis du ønsker å få gvim på opensuse, du kan ta det ved å søke etter gvim i Software Manager, eller bare kjøre:

 sudo zypper i gvim 

Å kjøre gvim, kan du enten finne det i programmenyen din desktop eller kjøre gvim ved terminalen eller ved hjelp av skrivebordet er "Run Application" dialogen. (Vanligvis brakt opp med Alt + F2, avhengig av skrivebordet du bruker.)

Siden gvim bruker de samme kommandoene som Vim, hva du allerede vet om Vim gjelder umiddelbart for å gvim. En ting som er nyttig for å lære Vim er at de fleste av menyene avsløre Vim kommandoer for å utføre operasjoner. Så, for eksempel, hvis du klikker på Fil-menyen, det vil vise deg kommandoene for de fleste operasjonene tilgjengelig under denne menyen. Dette kan gjøre det lettere å plukke opp kommandoene etter oppdagelsen.

Hvorfor har jeg satt dette i "avansert" brikke i stedet for en av de andre tutorials? Et par grunner. Jeg tror det er viktig å vite det grunnleggende før du bruker en "krykke", som det var. Du kan bruke gvim å skjule noe av kompleksiteten i Vim som er flott for tilfeldig bruk, men det er ikke veldig effektivt for en læringssituasjon. Plus, kan du benytte deg av Vim i nesten alle situasjoner - mens gvim krever en skrivebordsøkt. Ikke veldig nyttig hvis du trenger å SSH inn et eksternt system og gjøre noen feilsøking eller systemkonfigurasjonen.

Mange scripts forlenge GUI for å legge til menyer for å gjøre redigeringen bestemte typer filer enklere, og så videre. En som du kan finne nyttig hvis du tilbringer tid på å jobbe med HTML er HTML menyen for gvim. Selv om det kanskje ikke være en oppfinnsom navn, er det beskrivende! Bare kopiere filen til .vim /plugin katalog og deretter legge til følgende i .vimrc:

 source ~ .vim /plugin /vim_menu_HTMLpol 

Jeg har en tendens til å foretrekke den vanlige versjonen av Vim, men ta gvim på en kjøretur og se om det passer din arbeidsstil.

Til slutt noen ord om Vim veldedighet. Vim er faktisk "charityware» - sin lisens anses GPL-kompatibel, men det inkluderer en ekstra anmodning fra brukerne vurdere å lage en donasjon til å hjelpe trengende barn i Uganda. Egentlig trenger du ikke å være en Vim brukeren å gjøre dette, men hvis du finner Vim å være nyttig, kan du vurdere å chipping i.

Jeg håper at du har funnet den Vim tutorials nyttig. Selv om vi ikke har dekket alt i Vim, bør dette være tilstrekkelig til å komme i gang med Vim og til slutt mestre det. Anmeldelser