Hvis du har lest og jobbet med de to foregående tutorials på vim, er du sannsynligvis får rimelig komfortabel med redaktøren. På dette punktet, bør du være i stand til å komme seg rundt veldig pent. Denne gangen vil jeg gjerne se på noen mer avanserte funksjoner og demonstrere kort hvordan du setter opp et Vim konfigurasjonsfil, og for å få til skallet og bruke eksterne kommandoer innenfra Vim.
Som du skrelle bak lag av Vim løk, vil du fortsette å finne ny funksjonalitet. Noe av det kan være egnet for arbeidsflyten, noen ikke så mye. Hold hva som er nyttig og kast resten.
Folding i Vim
I den siste utgaven, vi dekket ved hjelp av visningsfeltene og faner for å gjøre det enklere å navigere lange dokumenter og flere dokumenter. Det er enda en funksjon som vi bør se på for å arbeide med virkelig lange dokumenter, og det er sammenleggbar La oss si du har et dokument som er 1000 linjer lang. Du ønsker å være i stand til å se de første og siste 20 linjer samtidig. Du kan gjøre det med visningsfeltene, men det er en rask måte å gjøre det ved hjelp folding. Folding kommandoer er innledet med z. La oss si at du ønsker å "kaste" 70 linjer. Du ville kjøre zf70j, som ville "kaste" alle disse linjene inn i en enkelt linje som effektivt skjuler disse linjene til du "åpner" folden. For å gjøre det, flytter du markøren til folden og kjøre zo. Å bryte ned kommandoen: zf forteller Vim du er i ferd med å gjøre en fold. 70 forteller Vim hvor mange linjer for å utføre handlingen på, og j er retningen kommando som forteller Vim å kaste seg nedover. Du kan også bruke k å kaste seg "oppover" i stedet. Du kan legge merke til noen merkelige figurer satt inn i filen. Dette er markører som forteller Vim hvor foldene avslutte og begynne. Foldene vil fortsette å eksistere inntil de er slettet. For å gjøre det, kjøre zd på linjen der fold er eller Ze å slette alle folder i en fil Ja, du kan ha flere folder i et dokument, og selv nestet folder -. Som er, folder i en annen fold. Jeg anbefaler at du tar en lengre tekstfil og leke seg med fold kommandoer for å se hva du kan gjøre. Den kan komme i utrolig hendig når du arbeider med lange filer. Når du begynner å bruke Vim regelmessig, vil du ønsker å redigere Vim konfigurasjonsfil, den .vimrc under hjemmekatalogen, for å holde dine favorittinnstillinger på tvers av økter og å sette opp din favoritt kartlegginger, forkortelser osv Merk at de fleste Linux distroer leveres med en standard vimrc ligger i /etc /vimrc. Dette er hele systemet konfigurasjon, men det kan overstyres av din personlige .vimrc La oss se på en svært enkel Vim konfigurasjonsfil. The Vim konfigurasjonsfilen er i utgangspunktet en samling av Vim kommandoer som blir lest ved oppstart. Den første linjen av prøven vimrc er en kommentar. Kommentarer er merket med anførselstegn ("). syntaks kommando forteller Vim å aktivere syntax highlighting. Vim kan utføre syntax highlighting for alle typer filer som har en syntaksdefinisjon. Syntaks filer er vanligvis sendes som en del av vim eller Vim forbedrede pakker og kan bli funnet under /usr /share /vim katalogen For eksempel, på opensuse 11.2 de er under /usr /share /vim /vim72 /syntaks -. Dette vil trolig variere avhengig av distro s emballasje retningslinjer. Den neste kommandoen forteller Vim hvor mye historie og så videre for å lagre i viminfo filen. Dette gjør økten info vedvarende mellom øktene. Så hvis du avslutter Vim du vil fortsatt ha noen historie fra forrige . session Se:.. hjelp viminfo for mer om dette Settet mus = en kommando forteller Vim å aktivere musen overalt, selv når du kjører i en xterm Dette betyr at du kan blant annet bruke . musen for å plassere markøren eller dra feltene for å endre størrelsen på dem jeg sjelden bruker dette selv, men det kan vise seg nyttig for folk som ikke ønsker å måtte huske på at Ctrl-w 10 < er måten å gjøre de eksisterende vertikal Viewport 10 kolonner mindre. Den siste kommandoen forteller Vim å utføre en kommando når det åpner noen kildefilen som er XML, XSL, eller HTML. I dette tilfellet, kaller det closetag.vim manuset, som gjør det lett å "lukke" XML /HTML-koder, slik at du ikke trenger å skrive avsluttende kodene. Vi får inn skript i neste opplæringen. Hvis du vil redigere .vimrc, bare åpne filen i Vim og gjøre de nødvendige endringene. Du kan enten starte Vim å se endringene, eller bruk: source kommandoen for å re-lese config filen slik: Vim har langt, altfor mange alternativer til prøve å dekke alle eller de fleste av dem i en tutorial. Det viktigste å forstå her er at Vim er nesten uendelig passelig, og at hvis du kan tenke på noe som Vim bør gjøre (i forhold til redigering av tekst, minst) er det sannsynligvis mulig. Ingen mann er en øy, og ingen tekst editor er et operativsystem, selv om Emacs ikke prøver ganske hardt. Noen ganger må du jobbe med tekst ved hjelp av eksterne kommandoer eller få til et skall uten å avslutte Vim økten. Hvis du trenger for å få til et skall fra innsiden Vim, uten å avslutte økten, trykke Ctrl-z. Dette er standard shell oppførsel på Linux-systemer, forutsatt at du bruker Bash, som er å si at det fungerer med andre kommandoer som kjører under Bash også. For å gå tilbake til økten, traff fg på skallprompten En annen måte å få til skallet er å bare gå inn kommando-modus og bruk. Sh - som vil slippe deg til et nytt skall og lar deg kjøre jobbene dine og deretter gå tilbake til Vim ved å bruke exit. Du kan også filtrere tekst i Vim gjennom en kommando, og deretter bringe den tilbake i Vim, uten å måtte forlate Vim i det hele tatt. Et enkelt eksempel: La oss si du har en liste med navn i bufferen som du ønsker å sortere i alfabetisk rekkefølge slik: Bruk Vim utvelgelse funksjonen (Ctrl-v) å markere listen, og skriv deretter denne kommandoen: Det vil sortere navnene i alfabetisk rekkefølge. Du kan bruke dette med alle typer kommandolinje-verktøy. Du kan kalle FMT innenfra Vim å angi bredden av en fil, eller ring ryddig innenfra Vim å rydde opp crufty HTML. Merk at du ikke trenger å bruke valget kommandoen hvis du vet rekkevidden linjer du ønsker å operere på, eller hvis du ønsker å operere på hele filen. For å filtrere bestemte linjer, angir området og deretter kommandoen: I dette tilfellet x ville være startstreken, y ville være den siste linjen for å sjekke, og selvfølgelig du vil erstatte kommandoen For å gjøre dette globalt (hele buffer), bruk%, som forteller Vim å gjøre hele buffer: Mellomrommene er faktisk ikke nødvendig. Du kan haug alt opp så godt, men det er mer lesbar den andre veien. Dette kan ikke være "avansert" per se Anmeldelser men jeg hadde ikke nevnt det før nå, og tenkte at det var verdt å ringe ut. Ønsker en rask og enkel måte å gjøre om den siste operasjonen? Hit punktum (.) I kommandomodus. For eksempel, gå til redigeringsmodus og skrive noen få linjer med tekst, og trykk Escape. Nå rammet. og Vim vil re-sette inn den samme teksten. Slett fem ord med 5DW i kommandomodus. Deretter slo. og det vil gjøre det samme igjen. Dette kan være svært nyttig når du arbeider med strukturert tekst og gjør gjentatte redigeringer. Trenger å vite hvor mange ord er i dokumentet, eller et utvalg dokument? Ingen svette. Å få ord teller for hele dokumentet, bruker du kommandoen g-Ctrl-g (det er g og deretter Ctrl-g) for å få en rapport for antall ord i dokumentet, samt antall linjer og bytes, og posisjonen til markøren. Du vil se en rapport som dette i statuslinjen nederst i Vim: For å få en rapport om et utvalg av tekst, bruke kommandoene fra Vim 101 guide for å velge den delen av teksten, og deretter bruke g-Ctrl-g for å oppsummere valget. Det er alt for denne utgaven. Neste gang vil vi se på Vim GUI, Vim plugins og scripts og andre avanserte funksjoner. Anmeldelser
.
j skaper en fold fra markøren nedover n
linjer.
< li> zo åpner en fold på markøren.
zj flytter markøren til neste brett.
zk flytter markøren til forrige fold.
zd sletter fold ved markøren.
Ze sletter alle bretter i dokumentet.
ZM lukker alle åpne folder.
ZR åpner alle folder.
Sette opp Vim Config
".vimrc - oppstartsfilen for Vim syntaks på settet viminfo = '1000, f1, \\ "500,: 100, /100 sett mus = en autocmd Filetype html, xml, xsl kilde ~ /.vim /scripts /closetag.vim
: source ~ /.vimrc
In and Out of Vim
Jules Vincent Butch Mia Marsellus
:! sort
: x, y
! kommandoen
med kommandoen du vil liker å bruke. Så, for å filtrere linjer 34 gjennom 38 ved hjelp av slag, vil du kjøre:
: 34,38! sort
:%! sort
The Dot og andre nyttige tips
Col 8 av 8; Linje 38 fra 38; Ord 577 av 577; Byte 3226 av 3227
< p> Som et eksempel, for å finne ut hvor mange ord er i en linje når markøren er på slutten av linjen, vil du bruke kommandoene v 0 g-Ctrl-g. Den v setter deg inn i valgmodus. 0 flytter valget til begynnelsen av linjen, og fremhever hele linjen. Og deretter g-Ctrl-g forteller Vim å rapportere statistikk for den markerte teksten.