Vlákno názorů k článku Základní základy editoru Vim od anonym - Ahoj, hledal jsem na forech, mezi kolegy a nikde...

  • Článek je starý, nové názory již nelze přidávat.
  • 9. 4. 2007 13:50

    anonymní
    Ahoj,
    hledal jsem na forech, mezi kolegy a nikde se mi nepovedlo zistit co hledam. Zkusim tedy taky.

    Chci aby mi vim u editace nekterych soboru po otevreni okamzite skocil na n-ty radek. A to tak abych tuto akci definoval v konkretnim .vimrc.

    Jde mi o to ze
    1. oteviram skleteona (.c,.pl,.tex) a chci rovnou po otevreni byt na radku, kde zapisuji obsah a ne se presunovat od hlavicky souboru, ktera existuje do tela.

    autocmd BufNewFile *.c 0r ~/.vim/skeleton.c

    Za toto tedy doplnit jeste skok na pridadny radek v .c soboru

    2. pri pozuivani muttu nechi pri psani odpovedi "rucne" preskakovat hlavicky (to:,bcc:,cc:, title:, atd). Ale opet se dosatt primo do tela mailu.

    autocmd BufRead *.txt set tw=78

    zase za to doplit skok na misto za hlavickami.

    Moc diky za napady.
  • 9. 4. 2007 21:05

    Keson (neregistrovaný)
    Ahoj,
    skákat na tělo kostlivce skeletona jde snadno, (člověk ani nemusí být nekrofil). Napadají mě tyto možnosti
    1. Skočit na konkrétní řádek:
      autocmd BufNewFile *.c 0r ~/tmp/skeleton.c
      autocmd BufNewFile *.c execute 10
      
    2. Skočit na nějaké hledané slovo (zde main):
      autocmd BufNewFile *.c 0r ~/.vim/skeleton.c
      autocmd BufNewFile *.c normal /main^M2j
      
      (^M je 1 znak - Enter)
    3. Nahradit řetězec ve skeletonu - např. TADY_ZACNI
      autocmd BufNewFile *.c execute "1,$s/TADY_ZACNI//"
      
      Tohoto fíglu se dá využít i k vyplňování hlavičky souboru, např. doplnit jméno souboru, autora, datum vytvoření, případně u nového 'soubor.h' připsat
      #ifndef SOUBOR_H
      #define SOUBOR_H
      #endif
      
    Mutt tu zrovna nemám, ale mohlo by fungovat něco jako
    autocmd BufRead *.eml normal gg}
    
    tedy normal'ně skočit za první odstavec.

    PS: Napsáno v editoru Vim :-)
  • 9. 4. 2007 22:08

    Ash (neregistrovaný)
    Jelikož není navazování více příkazů pro au moc intuitivní :) tak kdyby se hodilo..., dělá se to myslím asi nějak takhle:
    autocmd BufNewFile *.c
     \ 0r ~/tmp/skeleton.c |
     \ execute 10
    
    nebo takhle
    autocmd BufNewFile *.c 0r ~/.vim/skeleton.c |
     \ normal /main^M2j
    
    podstatné jsou ta lomítka a svislítka.