Hej,
jag skulle behöva hjälp med en liten grej i vim. Jag har precis upptäckt "code folding" i vim och tycker det är helt underbart. Jag använder git för att versionshantera all min kod, vilket gör att alla views som sparas i .vim/views/ inte följer med när jag pushar den fil jag ändrat.
Jag har redan följande kommandon i min .vimrc för att automatiskt ladda views:
au BufWinLeave * mkview
au BufWinEnter * silent loadview
Det jag skulle vilja ha är att när man lämnar en buffer så skrivs den nuvarande view:n i en fil som är
."originalfilens-namn".view
På detta sätt skulle jag enkelt kunna ha varje fils view i samma mapp som filen självt, och därmed enkelt kunna versionshantera även denna i mitt repo.
För att spara en view till en viss fil används följande kommando:
och för återställa en view som finns i en vill används följande kommando:
Problemet är att jag automatiskt vill det speciella filnamnet ska skapas när jag lämnar en buffer, detta borde enklast kunna göras med ett bashscript eller liknande, men jag vet inte hur?
Lösning
Jag löste det själv genom att läsa på och lära mig vim script Följande vim script fungerar bra för mig:
http://pastebin.com/f1599de2b
om man vill att det ska ske automatiskt när man öppnar och stänger en buffer så lägger man till följande i sin .vimrc:
" Save folding when leaving a buffer
au BufWinLeave * Mkviewfile
" Load foldings when loading a buffer
au BufWinEnter * Loviewfile