2012-06-22 3 views
14

Есть ли способ полностью скрыть определенные строки? Я не хочу складывать, я их не вижу вообще. Пример: я программирую с помощью php; функции и переменные класса имеют phpdocs, и я ненавижу, сколько вертикальных космических линий ни с чем, но могут принимать /** и */. Поэтому я бы не хотел их показывать (и, скорее всего, некоторые другие вещи). Хотя у меня есть сомнения в том, что это возможно ...VIM hide (not fold!) Lines

Редактировать: Пожалуйста, не публикуйте о глобальных командах; Я знаю их, и они не делают того, что я хочу. Вы можете печатать то, что я хочу. Но я хочу, чтобы линии были скрыты в области редактирования.

+0

Хотя у меня нет прямого ответа для вас, Vim является открытым исходным кодом и расширяемым. Все возможно с достаточным количеством времени и усилий. –

+8

Но это не сворачивание, просто идеально подходит для вашего примера phpdocs: они сгущаются до одной строки, что служит важным визуальным признаком того, что «что-то скрыто». Без этого указания это было бы опасной особенностью. Также помните, что Vim должен работать одинаково хорошо в консоли, поэтому любая причудливая индикация GUI не будет работать. –

+1

Возможно, вы могли бы сделать это с помощью 'conceal' или' fold' + 'highlight' в цвете фона, хотя это кажется грязным. Некоторые из них, безусловно, возможны - я помню, когда я случайно включил фальсификацию в 'AutomaticLatexPlugin', эта функция заставила меня замолчать. – epsilonhalbe

ответ

4

Я знаю, что на самом деле это не то, о чем вы просите, но попробовали ли вы складывать с пустым foldtext? Таким образом, линия сложенная область выглядит как пустая строка. Для этого установите

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

Я предпочитаю foldtext, который указывает, что есть что-то там, возможно, делая это выглядит как единый комментировал линии. В этом случае, заменив первую сложенную линию с одним комментарием строку // на текущем уровне отступа:

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

Я нахожу это ненавязчиво, в то же время напоминать мне, что есть какой-то скрытый текст.

Надеюсь, это поможет.

8

Вы можете сделать комментарии невидимыми:

:hi! Comment guifg=bg ctermfg=white 

Или

:hi! link Comment Ignore 
+0

хороший трюк, как же переключить это поведение? – nye17

+2

@ nye17 ': привет! ссылка Комментарий Комментарий' – kev

Смежные вопросы