3

Vim には、さまざまなプログラミング言語で記述されたファイルの折りたたみのサポートが組み込まれていると聞いています。特に、cpp、h、hpp ファイルに興味があります。すべての関数定義がデフォルトで新しく開かれたソースファイルごとに折りたたまれている場合、Vim のこのような動作を実現したいと考えています。ですべての折り目を手動で作成したくありませんzF

次の行を~/.vimrcファイルの最後に追加しました (これはspf13-vim ディストリビューションから継承されました)。

set foldenable
autocmd FileType c,cpp,h,hpp setlocal foldmethod=syntax

残念ながら、それは望ましい動作にはなりませんでした。すべてのファイルはまったく同じように見え、zcコンボで関数を非表示にしようとするとエラーが発生します:

E490: 折り目が見つかりません

Vim 7.4 でデフォルトで折りたたみを有効にする方法を誰かが説明してくれたらうれしいです。

UPD:上記のコードは問題なく動作しますが、最近開いたファイルにはまだ問題があります。「sc-client-server」というプロジェクトに取り組んでいて、これらの 2 行を ~/.vimrc に追加しただけで、最後に編集したファイルに戻る準備ができたとします。

$ vim ~/.vimrc                                   //Modify config
$ reboot
$ vim ~/progs/sc-client-server/src/st.cpp        //No fold found. BUT: 
$ cp ~/progs/sc-client-server/src/st.cpp  /tmp
$ vim /tmp/st.cpp                                //Auto fold works fine. OR:
$ cd ~/progs/sc-client-server/src/ && mv src source
$ vim ~/progs/sc-client-server/source/st.cpp     //Auto fold works fine. 

目的のファイル表現を妨げるようなキャッシュやメモリが Vim 内にありませんか?

回答フォルダー からすべての (または特定の) ファイルを削除し~/.vimviewsます。

トピック外の有権者

4

0 に答える 0