[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [VI] Macro?



Hej Anders.

Quoting Anders Bruun Olsen <sslug@sslug>:

> Hejsa,
> 
> Kan man i vi(m) "optage" en tastekombination?
> Jeg tænker på at hvis jeg f.eks. har 500 linier som alle skal indentes med 1
> 
> tab, eller alle skal have et punktum i slutningen eller lign. Jeg kender til
> 
> editorer hvor man kan optage sine tastetryk (f.eks. hop til slutningen af 
> linien med <end>, skriv "." og gå en linie ned) og så bare vælge at den skal
> 
> fyres af f.eks. 500 gange.
> 

Man kan godt knytte en kommandorække kommandorække
til en tastekombination evt. en enkelt tast.
Er det noget man gør tit vil man bruge "map"
f.eks hvis du fyrer følgende af i vim (eller putter den i .vimrc)
:map CTRL-V_CTRL-T $a.CTRL-V_ESCAPE (_ skal fjernes men
er indsat for læsbarhedens skyld)
vil du mappe CTRL-T til at gå til enden af linien og indsætte
et punktum. CTRL-V er et specielt tegn som skal tastes
før at man taster sådan noget som CTRL, ESCAPE, RETURN
etc. i disse ting.

Hvis det blot er noget som man lige vil lave i denne
fil, kan jeg personligt bedre lide at definere
@ funktioner. Dette kan f.eks. gøres ved at skrive
en kommandorække (husk igen CTRL-V) og så slette den
ind i en navngiven buffer.
F.eks kan $0$0$0
tages ind i bufferen a ved hjælp af "add
og @a vil så springe lidt frem mellem starten
og slutningen af linien (ikke så sjovt, men hva')

> Er noget lign. muligt i vi? eller skal jeg ty til emacs der? (og kan emacs 
> overhoved den slags?)
> 
> -- 
> Anders
> 

Med hensyn til at putte en tab som første tegn i
den linie jeg stå i og de næste 373 linier vil jeg slet ikke bruge
funktioner men blot kommandoen
:.,+373 s/^/\t/
Indsætte et punktum for enden af linien før, denne og næste
linie kan gøres ved
:-,+ s/$/./

Hvis du vil bruge denne form skal du ind og læse lidt om den gamle
ex linie editor som vi(m) bygger på.

M.v.h.

Kasper.

--
Kasper Hald
Ph.D.-student in Theoretical Chemistry
Email: sslug@sslug
For further information : http://www.chem.au.dk/~khald


 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 18:44 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *