1

頭にCSSを含むHTMLファイルがあります。通常、ファイルは 2 つのタブで開くので、HTML と CSS を簡単に切り替えることができますが、ほとんどのコード (特に font-face 宣言) を折りたたむこともできます。残念ながら、2 つ目のタブを開くたびに、 1つ折りが解除されます。

後ですべてをうまく折りたたむことができますが、別のタブを開くと、すべて元に戻されます。

.vimrc でコードの折りたたみを次のように設定しています。

 set foldmethod=indent " fold based on indent                          
 set nofoldenable " don't fold by default                            
 set foldlevel=1 " only close/open one foldlevel at a time             
 au BufWinLeave * silent! mkview " save view when closing buffer       
 au BufWinEnter * silent! loadview " load view when opening buffer
4

2 に答える 2

1

まず、タブはバッファと同じではないことを知っておく必要があります。と説明している所が多いです。これを ".vimrc" ファイルに入れる必要があります:

autocmd TabLeave * mkview

autocmd TabEnter * サイレント ロードビュー

于 2020-11-02T00:45:16.937 に答える
0

:mkview別のタブで同じバッファに移動して実行するよりも、元のバッファで実行してみてください:loadview。これにより、折りたたみが同じになるはずです。これは、BufWinLeave と BufWinEnter が必要なイベントではないことを示しています。. . . おそらく、foldenable がウィンドウ固有であるため、新しいタブのウィンドウで折りたたみを有効にする必要もあります。. .

また、現在のタブでウィンドウを分割 (:splitまたは)するだけであれば、mkview/loadview を気にする必要さえありません。:vsplitこれにより、同じ折りたたみ設定で同じバッファーの 2 つのビューが得られるはずです。分割すると、各ウィンドウの折り目が独立して機能します。( :set winwidth=999;:set winminwidth=1垂直分割を使用すると、現在のウィンドウが自動的に Vim の画面の幅いっぱいになります。. . )

于 2012-01-30T20:52:56.810 に答える