Настройка стартового экрана Vim
Вступление Стартовый экран Vim содержит лишь информацию о том, как начать читать документацию по этому редактору и как правильно из него выйти. Ведь, как известно, многие инструменты имеют крутую кривую входа, а Vim к тому же еще и крутую кривую выхода. Те, кто уже научились выходить из Vim, наверняка захотят сделать стартовый экран более информативным и полезным. Чем мы и займемся.Установка и базовая настройка А поможет нам в этом плагин Startify.Для управления плагинами Vim’а я использую Vundle, поэтому добавил в .vimrc следующий фрагмент:
Plugin 'mhinz/vim-startify' » Nice start screen При запуске Vim без указания файлов для открытия данный плагин показывает стартовый экран, на котором перечислены файлы, которые недавно редактировались, а также сессии Vim’а. Также можно указать список файлов, которые всегда будут присутствовать (закладки или bookmarks):
Для открытия файла теперь достаточно набрать число, которое расположено рядом с файлом в квадратных собках. Также определен ряд команд, например: e — создать пустой буферi — создать пустой буфер и перейти в Insert-режимq — выйти из Vim
Чтобы указать файлы для закладок, необходимо прописать в .vimrc:
let g: startify_bookmarks = ['~/.vimrc',] Дополнительные настройки Плагин позволяет также указать заголовок стартового экрана и подвал (footer). В документации в качестве примера приводится использование фортунок и коровы: let g: startify_custom_header = map (split (system ('fortune | cowsay'), '\n'), '» ». v: val') + ['',''] Однако мне такой вариант не совсем нравится. Во-первых, фортунки иногда могут содержать довольно много строк и, как следствие, занимать почти весь экран. Во-вторых, хочется иметь тематические фортунки с советами по Vim. Поэтому я взял файл vim-фортунок с проекта vimtips-fortune, положил его в ~/.vim/fortunes и сформировал dat-файл:
strfile vimtips После этого добавил следующую строку в .vimrc let g: startify_custom_header = \ map (split (system ('fortune ~/.vim/fortunes | cowsay -W 60'), '\n'), '» ». v: val') + ['',''] Таким образом, получаем уже довольно неплохой стартовый экран: Также я начал делать свой файл фортунок с советами по плагинам, которые использую.
Настройка смены рабочего каталога По умолчанию плагин при открытии файла устанавливает рабочий каталог Vim’а в каталог открываемого файла. Также плагин можно настроить таким образом, чтобы он переключался на корневой каталог системы контроля версий данного проекта: let g: startify_change_to_vcs_root = 1 В настоящий момент поддерживаются: git, hg, bzr, svn.Такое поведение также не всегда целесообразно. Например, в нескольких моих проектах есть подпроекты, написанные на python. Эти файлы располагаются в отдельных подкаталогах. При открытии таких python-файлов было бы логичнее переключаться именно в этот подкаталог, а не в корневой git’а. Для реализации подобного функционала я использую плагин vim-rooter, который также изменяет рабочий каталог при открытии файла. Плагину можно указать список файлов-маркеров, до которых будет вестись поиск. Так как у меня в python-подкаталогах лежит файлов тегов tags, то я его добавил в список:
let g: rooter_patterns = ['tags', '.git', '.git/'] Таким образом, с помощью рассмотренных плагинов можно оптимизировать работу с Vim.Во мой фрагмент .vimrc с настройками для vim-startify и vim-rooter:
» Startify let g: startify_change_to_dir = 0 let g: startify_files_number = 8 let g: startify_bookmarks = ['~/.vimrc',] let g: startify_skiplist = ['vimrc',] let g: startify_custom_header = map (split (system ('fortune ~/.vim/fortunes | cowsay -W 60'), '\n'), '» ». v: val') + ['','']
» Rooter let g: rooter_patterns = ['tags', '.git', '.git/'] Надеюсь, кто-то найдет изложенную информацию полезной для себя.