maj 252012
 

En cool feature som man ofta missar med vim är att öppna en fil och direkt komma till en viss rad. T.ex. om du har en fil ”testfil” som du vill öppna på rad 3 så skriv:

vim testfil +3

Det kanske inte är så märkvärdigt men det är användbart om du kör ssh och får en konflikt i .ssh/known_hosts och snabbt vill fixa det. Låt säga att konflikten är på rad 431. I stället för att hoppa till rad 481 när man öppnat  .ssh/known_hosts kan man helt enkelt skriva

vim ~/.ssh/known_hosts +431

En variant på det hela är att automatiskt hamna på den första förekomsten av ett specifikt mönster.

Om jag tex har en fil enligt följande

orbiter:~ atall$ cat testfil
Detta är en test fil
Detta är rad 2
Här kommer rad 3
Och slutligen har vi rad 4
orbiter:~ atall$

och sedan skriver

vim testfil +/kommer

så hamnar jag på rad 3 där ordet ”kommer” förekommer för första gången i filen.

Båda dessa varianter går att kombinera med att ett kommando körs. I exemplet med konflikten i .ssh/known_hosts vill man kanske ta bort just den raden. Jag visar ett exempel på det fast jag använder testfilen ovan.

 

orbiter:~ atall$ vim testfil +/kommer +d +x
orbiter:~ atall$ cat testfil
Detta är en test fil
Detta är rad 2
Och slutligen har vi rad 4
orbiter:~ atall$

Och vips är rad 3, där ordet ”kommer” förekom, borta.

 Posted by at 12:00

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)