Как вы пишете текст в строке состояния с именем файла, строк и столбцов с помощью vimscript? - PullRequest
4 голосов
/ 08 декабря 2010

Есть ли способ программно писать на панели под окнами vim? Я имею в виду панель, которая отображает имя файла, строку курсора + столбец и процент документа над нижней частью окна.

Ответы [ 3 ]

7 голосов
/ 08 декабря 2010

Это называется строкой состояния.

Вы можете получить дополнительную информацию, набрав :help statusline.

Это тот, который я использовал, который включает строку и столбец в правом нижнем углу.

set statusline=%f%m%r%h\ [%L]\ [%{&ff}]\ %y%=[%p%%]\ [line:%05l,col:%02v]   
                | | | |    |       |      |    |           |       |  
                | | | |    |       |      |    |           |       +- column number  
                | | | |    |       |      |    |           + -- line number  
                | | | |    |       |      |    +-- percentage in file  
                | | | |    |       |      +-- file type  
                | | | |    |       +-- file format (dos/unix)  
                | | | |    +-- total number of line in file  
                | | | +-- help flag  
                | | +-- read only flag  
                | +-- modified flag : [+] if modified, [-] if not modifiable  
                +-- relative`  

Рендеринг не идеален, но варианты, начинающиеся со знака %описаны слева направо, как вы спускаетесь.Все они описаны в справке.

Это довольно статичная конфигурация, если вы хотите использовать плагин vim, есть такие, как vim-aviation , которые предоставляют более расширенные функции, такие какинтеграция с git.

2 голосов
/ 08 декабря 2010

Информация в этой строке задается в опции statusline. Вы можете установить это из скрипта, используя let &statusline =, как и любой другой параметр vim.

См. :help statusline для получения дополнительной информации.

1 голос
/ 11 декабря 2012

Это мой взгляд на эту проблему.

Я установил laststatus, чтобы отключить «выделенную» строку состояния и просто использовать область командной строки для статуса (используя rulerformat вместо statusline), если есть только одно окно.

set laststatus=1
set statusline=%F\ %(%w%h%r%m%)%=%2v:%4l/%4L\ 0x%02B
set rulerformat=%25(%w%h%r%<%m%=%2v:%4l/%4L\ 0x%02B%)

В строке состояния отображается имя файла (с путем), затем пробел и добавляются необязательные индикаторы для [Preview], [help], [RO] и [+] (если файл изменен) в зависимости от состояния файла. Версия с одним окном пропускает имя файла. В обоих случаях я добавляю пробелы, чтобы остальное было выровнено по правому краю, помещаю два символа для столбца курсора, затем перечисляю номер строки и общее количество строк, а затем шестнадцатеричный код ASCII для символа под курсором.

В файле справки есть куча интересных примеров, как уже говорили другие, посмотрите :help statusline.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...