Редактирование нескольких буферов в vim: "((1) of 3)" в строке состояния - PullRequest
3 голосов
/ 20 марта 2009

Когда я переключаюсь между буферами в vim с помощью ": bn" и ": bp", моя строка состояния показывает следующую полезную информацию:

"foo.txt" 43 lines --88%-- ((1) of 3)                      38,1          All

(я думаю, что это "set showmode", который позволяет это.) Но это (1) всегда в буквальном смысле «(1)» - оно не меняется, когда я меняю буферы. (Паренсы вокруг «1» тоже странные.)

Кто-нибудь знает, как это исправить?

ДОБАВЛЕНО: Вероятно, это связано с чем-то сумасшедшим в моем .vimrc, который находится здесь: http://yootles.com/outbox/.vimrc


Кроме того, вот полезный трюк, чтобы сделать переключение буферов действительно безболезненным (записи в .vimrc):

"left/right arrows to switch buffers in normal mode
map <right> :bn<cr>
map <left> :bp<cr>

Ключевые слова для улучшения поиска: vim, несколько буферов, переключение между буферами, странная строка состояния. [Добавьте сюда других, если вы искали ответы на этот вопрос и не нашли его с первой попытки!]

Ответы [ 3 ]

3 голосов
/ 27 марта 2009

Причина, по которой vim показывает ((1) из 3), - список аргументов. Когда вы запустили vim, вы, вероятно, включили 3 имени файла в качестве аргумента. Поскольку вы использовали: bn /: bp для переключения буферов вместо: n /: N для перемещения по списку аргументов, вы по-прежнему используете аргумент 1. Чтение: h arglist-position.

1 голос
/ 20 марта 2009

В моем случае статусная строка в порядке, но заголовок gvim выглядит так, как вы сказали.

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

Для удобного выбора буферов вы можете использовать
minibufexpl.vim: элегантный буферный обозреватель - занимает очень мало места на экране
http://www.vim.org/scripts/script.php?script_id=159

или
0scan: поиск на основе тегов для любых вещей, которые вы можете найти (ctags, buffers, ...).
http://www.vim.org/scripts/script.php?script_id=2507

1 голос
/ 20 марта 2009

Вы можете настроить внешний вид вашей строки состояния; например, это мое:

set laststatus=2    " all windows have statuslines
set statusline=%mb%n:%f%R%Y\ %l/%L,%c:%v

1-е редактирование:

Попробуйте поискать в справке

:help arglist-position
:help shortmess

Я никогда не использовал эти опции, поэтому не могу дать вам подробное объяснение, но, прочитав немного, вы должны разобраться в этом.

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