@
yech1990 不错,不过,我建议如果那些方法,你如果不需要直接去调用,可以用局部方法替换掉全局方法。比如
```
" task list new
map <leader>tn :call New_Task_List()<cr>
function! New_Task_List()
if getline('.') =~ '^- \[ \]\ '
call append(line('.'), "- [ ] ")
call cursor(line('.')+1, 0)
startinsert!
elseif getline('.') =~ '^- \[x\]\ '
call append(line('.'), "- [x] ")
call cursor(line('.')+1, 0)
startinsert!
else
echo "Not a item of task list!"
endif
endfunction
```
这一段, 你可以改成:
```
" task list new
noremap <leader>tn :call <sid>new_task_list()<cr>
function! s:new_task_list()
if getline('.') =~ '^- \[ \]\ '
call append(line('.'), "- [ ] ")
call cursor(line('.')+1, 0)
startinsert!
elseif getline('.') =~ '^- \[x\]\ '
call append(line('.'), "- [x] ")
call cursor(line('.')+1, 0)
startinsert!
else
echo "Not a item of task list!"
endif
endfunction
```
使用局部方法有这么一个好处,他不会污染你的补全内容,当你在命令行里面补全方法名时。为相信当你在命令行里面补全方法名时肯定不希望这些不想要的方法名出现,不让他们出现最好的方法就是不用全局方法。