4

現在の行/ブロック/メソッドを除くすべてを折りたたむvim関数を作成しようとしています。

ここに私がすでに書いたものがあります:

set foldemethod=indent
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" FOCUS ON BLOCK OF CODE (fold everything else)
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
function! FocusOnBock()
  :normal! zM                 " close all folds
  :normal! zozozozozozozozozo " I hope enough to open all nested folds :)
  :normal! zz                 " center the current line
endfunction
:command! FocusOnBock :call FocusOnBock()
:map <leader>F :FocusOnBock<CR>

ここでは、すべての折り畳みを閉じてから、多くの折り畳みを開き (通常、適切なコードではより多くの折り畳みが存在します)、現在の行を中央に配置します。ところで、あなたはそれを実際に見ることができます - http://ascii.io/a/1771
私はラインが好きではありません:norm! zozozozozozozozozo。カーソルを移動せずに現在の行の周りのすべての折りたたみを開くコマンドはありますか?

4

3 に答える 3

12

はい、あります: zv:

zv カーソル行の表示: カーソルが位置する行が折りたたまれないように、折り目を開きます。

于 2012-12-21T13:25:49.013 に答える
3

バッファ全体ですべての折り畳みを開きたい場合は、次を使用できますzR

http://vim.wikia.com/wiki/Folding - 折り畳みの開閉

コマンド zr は、バッファー全体でもう 1 レベルの折り畳みを開くことで折り畳みを減らします (カーソル位置は関係ありません)。zR を使用して、すべての折り畳みを開きます。

于 2018-11-17T14:04:39.210 に答える