E37: No write since last change (add ! to override)

2006-09-05

="" 挿入 17:27

inoremap = <C-O>:call <SID>XMLEqualComplement()<CR>

function! s:XMLEqualComplement()
	let line = getline('.')
	let col = col('.')

	call s:CursorInsert("=")

	let op = strridx(line, '<', col - 1)
	if op != -1
		let cp = stridx(line, '>', op)
		if cp == -1 || cp > col
			call s:CursorInsert('""')
		endif
	endif
endfunction

function! s:CursorInsert(str)
	let line = getline('.')
	let col  = col('.')
	let pos  = getpos('.')

	if col == strlen(line)
		exe 'normal! a' . a:str
	else
		exe 'normal! i' . a:str
		normal l
	endif
endfunction

結局こんなんにした。挿入したあとに normal h するのはうまくいかない。

test

ゲスト



トラックバック - http://vim.g.hatena.ne.jp/cho45/20060905