]> Sergey Matveev's repositories - stargrave-blog.git/commit
Написал свой BufTabline плагин для Vim
authorSergey Matveev <stargrave@stargrave.org>
Sun, 26 Jul 2020 16:14:00 +0000 (19:14 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 26 Jul 2020 16:14:00 +0000 (19:14 +0300)
commitd096e6f5355d9ec0534cc561eceb7f36733dea6b
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent5a2fdb3e208febdf17af999078a35f553d49217c
Написал свой BufTabline плагин для Vim

http://git.stargrave.org/cgit.cgi/dotfiles.git/tree/vim/.vim/plugin/buftabline.vim
Глядя на видео из предыдущего поста, мне понравилось что вверху у них
показывается список буферов, вместо списка табов. Табы в Vim я не
использую и даже не хочу. А вот список буферов возможно пригодится, ибо
в нём я могу сразу увидеть номер буфера. Ещё точно не знаю, возможно
бесполезная трата лишней строки, но попытка не пытка.

Поискал какие плагины показывают список буферов в tabline. Нашёл
https://github.com/ap/vim-buftabline и его, похоже, авторы роликов и
используют. Он может показать номер буфера, но не показывает другие его
атрибуты, типа альтернативный ли он буфер или нет. Начал копаться в
vimscript, но что-то вообще не нахожу фунок которые бы выбрасывали
какой-нибудь словарик с полным описанием буферов как это в :buffers
происходит.

Ну... ok, я пошёл напролом и просто сохраняю вывод :buffers, парсю его и
преобразую в вывод для tabline. Оказалось всё это очень просто. Текущий
буфер подсвечивается, все аттрибуты показываются. Это всё настолько
просто, что никаких возможностей внешнего плагина не понадобилось.