Eu acredito que você quer isso
function! ShowFuncName()
let cursor_pos = getpos('.')
echohl ModeMsg
normal! [[k
echo getline('.')
echohl None
call setpos('.', cursor_pos)
endfunction
O comando normal
executa [[k
no modo normal movendo o cursor para a definição da função. Em seguida, imprime a linha em que o cursor está.
A posição do cursor é restaurada para a posição em que estava originalmente usando as funções getpos()
e setpos()
.