René Nyffenegger's collection of things on the web
René Nyffenegger on Oracle - Most wanted - Feedback -
 

Editing HTML with VIM

inoremap <buffer> /ns  <p><a name=''><span class=subject></span><br><ESC>33h:let b:in_tag="ns_1"<CR>a
inoremap <buffer> /zit <span class=zitat></span> <ESC>7h:let b:in_tag="spn"<CR>i
inoremap <buffer> /key <span class=keyword></span> <ESC>7h:let b:in_tag="spn"<CR>i
inoremap <buffer> /per <span class=person></span> <ESC>7h:let b:in_tag="spn"<CR>i
inoremap <buffer> /ref <a href='#'></a> <ESC>7h:let b:in_tag="ref_1"<CR>a
inoremap <buffer> /=   =&gt;
inoremap <buffer> /fil <span class=links onmouseover="javascript:filosofen(event.x,event.y)">Filosofen</span>
let b:in_tag="0"

" inoremap <buffer> <CR> <ESC>:call EnterPressed()<CR>

set pastetoggle=<F4>

fu! SetUp()
  execute "inoremap <buffer> <CR> <ESC>:call EnterPressed()<CR>"
  "echo "SetUp of gn called"
endfu

fu! EnterPressed()
  if b:in_tag == "ref_1"
    let dummy=search('<')
    let b:in_tag = "ref_2"
    startinsert
  elseif b:in_tag == "ref_2"
    execute "normal />/e+1
"
    let b:in_tag = "0" 
    startinsert
  elseif b:in_tag == "ns_1"
    execute "normal /subject>/e+1
"
    let b:in_tag = "ns_2"
    startinsert
  elseif b:in_tag == "ns_2"
    let dummy=search('>','e')
    let b:in_tag = "0"
    startinsert!
  elseif b:in_tag == "ns_3"
    execute "normal />
"
    let b:in_tag = "0" 
    startinsert!
  elseif b:in_tag == "spn"
    execute "normal />/e+1
"
    let b:in_tag = "0" 
    startinsert
  else
    "let &paste=1
    execute "iunmap <buffer> <CR>"
    execute "normal a\<CR> "
    "let &paste=0
    call SetUp()
    startinsert
  endif
endfu