添加了跳转到下一个编辑位置的功能,例如输入 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
Attachment:
signature.asc
Description: Digital signature