2012-06-22 9 views
14

Czy istnieje sposób na całkowite ukrycie pewnych linii? Nie chcę składać, ja jeden nie być widoczny. Przykład: programuję z php; funkcje i zmienne klasy mają phpdocs, i nienawidzę jak dużo pionowych linii spacji z niczym, ale /** i */ może zająć. Dlatego nie chciałbym ich pokazywać (i najprawdopodobniej innych rzeczy). Chociaż mam wątpliwości, czy to jest możliwe ...VIM ukryj (nie spasuj!) Linie

Edytuj: Proszę nie pisać o globalnych poleceniach; Znam ich i nie robią tego, co chcę. Możesz wydrukować to, co chcę. Ale chcę, żeby linie były ukryte w obszarze edycji.

+0

Chociaż nie mają bezpośredniego odpowiedź dla ciebie, Vim jest open source i rozszerzalny. Wszystko jest możliwe z wystarczającą ilością czasu i wysiłku. –

+8

Ale nie składa się idealnie na twój przykład phpdocs: są skondensowane do pojedynczej linii, co służy jako ważna wizualna wskazówka, że ​​"coś tam jest ukryte". Bez tego wskazania byłaby to niebezpieczna cecha. Pamiętaj również, że Vim musi działać równie dobrze w konsoli, więc wszelkie wymyślne wskazania GUI nie będą działać. –

+1

może mógłbyś to zrobić za pomocą 'conceal' lub' fold' + 'highlight' w kolorze tła, chociaż wydaje się brudny. Niektóre z nich są zdecydowanie możliwe - pamiętam, kiedy przypadkowo włączyłem składanie w 'AutomaticLatexPlugin' ta cecha doprowadziła mnie do szału. – epsilonhalbe

Odpowiedz

4

Wiem, że to nie jest to, o co prosisz, ale czy próbowałeś użyć składania z pustym foldtext? W ten sposób linie złożonego regionu wyglądają jak pusta linia. Aby to zrobić, należy ustawić

set foldmethod=marker 
set foldmarker=\/**,*\/ 
set foldtext='\ ' 

Wolę foldtext, który wskazuje, że istnieje cośtam, ewentualnie poprzez to wyglądać jednym komentarzem linii. W tym przypadku, zastępując pierwszą linię złożoną z jednego komentarza ciąg // na obecnym poziomie wcięcia:

set foldtext=substitute(getline(v:foldstart),'\\/\\*\\*.*','\\/\\/','g' 

Uważam to dyskretny, a jednocześnie przypominając mi, że istnieje jakiś ukryty tekst.

Mam nadzieję, że to pomoże.

8

Można dokonać komentarze niewidoczny:

:hi! Comment guifg=bg ctermfg=white 

Albo

:hi! link Comment Ignore 
+0

fajna sztuczka, jak zmienić to zachowanie? – nye17

+2

@ nye17 ': cześć! link Comment Comment' – kev