添加了跳转到下一个编辑位置的功能,例如输入 if<空格> 后,代码自动扩展为:
if (<光标>) {
// XXX
}
当光标位置的表达式处理完成之后,可以通过快捷键自动跳转至 // XXX 位置。
修改后的 If() 函数:
function! If()
iunmap if<SPACE>
if (getline('.') =~ '^\s*$')
exec "normal ddO
\if () {\r// XXX\r}
\\e7h2dw2k3la"
elseif (getline('.') =~ '^\s*}\s*\<else\>\s*$')
exec "normal a
\if () {\r// XXX\r}
\\e7h2dw2k10la"
elseif (getline('.') =~ '^\s*}\s*\<else\>.*{\s*$')
exec "normal a
\if () {\r// XXX\r} else
\\e13h2dw2k10la"
else
exec "normal a
\if "
endif
inoremap if<SPACE> <ESC>:call If()<CR>a
endfunction
添加快捷键:
imap <C-J> <ESC>:call search('// XXX$', 'W')<CR>d$a
vmap <C-J> <ESC>:call search('// XXX$', 'W')<CR>d$a
--
Vern
2007-12-10
signature.asc
Description: Digital signature

