Editoren vim


Hva du finner på denne siden!

Editoren vim er et svært effektivt hjelpemiddel til all slags tekst-editering, det være seg programmering i et vært språk, eller produksjon av tekst. Selv om det er et bra hjelpesystem inkludert i denne editoren, vil jeg samle noen av de mest nyttige tingene på denne siden. Du finner mye mer om vim, med nyttige script og slikt på vim.sourceforge.net


Global kommandoen.

Ofte er det nødvendig å gjøre samme operasjon på mange linjer i en fil. I Vim finnes det en enkel mulighet til å gjøre dette. Kommandoen man benytter er :global, eller kortere :g. Denne virker på en vanlig angivelse av område, og blir utført på linjer som passer med et angitt kriterie ( regulært uttrykk ). Det finnes flere varianter av kommandoen, jeg viser her tre forskjellige.

:[range]g/{pattern}/[cmd]

Kommandoen [cmd] må her være en lovlig Ex kommando. Hvis man vil gjøre mere generelle ting, kan man benytte

:[range]g/{pattern}/normal {commands}

Her kan {commands} være hva som helst av lovlige kommandoer i vim. Til slutt nevner jeg at det også er mulig å utføre kommanoder på linjer som ikke passer med kriteriet, ved å legge til et "!" etter :g, slik:

:[range]g!/{pattern}/[cmd]

Dette virker selvfølgelig også på kommandoen "normal".
Teller
Anta at du av en eller annen usaklig grunn vil ha linje-nummer satt inn først på hver linje. For å få til dette kan du gjøre slik:
:let n = 0
:g/^/let n=n+1 | execute "s/^/" . n
hovedgreia her er å vise bruken av let og execute. Med let kan du sette variable til en verdi og manipulere dem, for eksempel inkrementere. Kommandoen execute vil tolke den følgende tekst-strengen som et ex uttrykk, og utføre den. Det vil si at vi her gjøre en global kommando på alle linjer som inneholder ^, det vil si alle linjer. For hver linje legger vi til en i telleren n, deretter substituerer vi starten av linjen med innholdet i n. Punktumet er i denne sammenheng tekstkonkatenering. Variabelen n må stå utenfor fnuttene for å bli interpolert.

Mine vimrc-filer

Jeg har en ganske omfattende .vimrc, som er delt opp i flere filer som sources etter behov. Hvis du har lyst til å se på disse, er de tilgjengelig i tar.bz2 format her.

The most recent update of this page was done:10.03.2007 by Åsmund Ødegård