Zawsze, gdy przeglądam złożony kod w vimie i naciskam klawisz l
, chcę, aby otwierał on ten fałd rekursywnie. W tym celu wykonałem następujące czynności: nmap l lzO
. Co działało w porządku, pomijając fakt otrzymania E490: No fold found
za każdym razem, gdy naciskałem l
, ale nie w fałdach. Użyłem tej wymówki, aby poznać Vimscript i napisać dla niego funkcję i uniknąć błędu.Wywołanie klawiszy hjkl z wiersza komend vima:
Teraz brakuje mi części jak mogę wywołać komendę vim taką jak l
lub lzO
z wnętrza funkcji?
function! OpenFoldOrNot()
if foldclosed(line(".")) == -1
echo "just l"
l # TODO
else
echo "open fold"
lzO # TODO
endif
endfunction
nmap l :call OpenFoldOrNot()<CR>
Nie ma potrzeby 'execute', chyba że masz zamiar użyć do druku formatu niektórych znaków specjalnych, takich jak' 'lub' '. –
mMontu
Ach tak, masz rację. Jak już powiedziałem, mój vimscript jest bardzo zardzewiały;) –