Отображение символа подачи страницы в Vim

Одна из приятных вещей в Vim заключается в том, что можно вставить символ подачи страницы (Ctrl - L в режиме Insert), который делегирует принтеру начать печать следующего на новой странице. Он отображается как ^L в тексте.

Можно ли показать этот символ как что-то еще, например,

----------------- new page here -----------------  

поэтому он несколько более заметен при прокрутке страниц текста?

То есть, не восстанавливая Vim из источника.

Ответы

Ответ 1

Если вы не используете широкоэкранный режим при редактировании файлов, содержащих страницу символы корма, вы можете использовать однострочные складки, чтобы выделить их. Используя foldexpr вариант можно увеличить уровень сгиба линий, содержащих страницу (ниже, для скорости оценки foldexpr, я предполагаю, что страница символы подачи всегда являются первыми символами их строк). Для достижения желаемый эффект разделителя на экране, эти складки могут быть автоматически закрыты.

Следующая функция настраивает сворачивание в соответствии с описанной идеей выше. Вызовите его (вручную или с помощью автоматической команды), чтобы включить символ подачи страницы сгибание в текущем буфере.

function! FoldPageFeed()
    setl foldmethod=expr
    setl foldexpr=getline(v:lnum)[0]==\"\\<c-l>\"
    setl foldminlines=0
    setl foldtext='---\ new\ page\ '
    setl foldlevel=0
    set foldclose=all
endfunction

Результирующие разделители появляются как текст --- new page, за которым следует продолжающаяся строка символов заполнения (см. :help fillchars, item fold:) справа от окна.

Ответ 2

Если бы это было возможно, мне было бы неудобно зная, что vim мой сильно доверенный инструмент и друг могут исказить текстовый файл.

Конечно, вы всегда можете выполнить эту команду (возможно, как макрос), чтобы сделать то же самое:

:%s/^L/----------------- new page here -----------------/

Ответ 3

Если вы определили свою собственную группу выделения в vim как просто символ ^ L, тогда у вас может быть выделенный выделенный фон для всех строк, содержащих этот символ.

Это не совсем "----------- новая страница здесь ------------", но облегчит видимость страниц при прокрутке большого количества текста.

Я не знаю достаточно vim, чтобы на самом деле рассказать вам, как установить группу подсветки, хотя...

Ответ 4

Я не думаю, что ты можешь. Существует группа, не содержащая текст, которая может помочь. Другой способ (немного уродливый) - написать некоторую автокоманду, чтобы развернуть ^ L на ---- новую страницу ---- и наоборот, когда на InsertLeave, BufRead и BufSave.

В любом случае, ответ на ваш вопрос: НЕТ, если вы просто хотите изменить отображение, и, вероятно, да с неприятным плагином.