Vim: разделить определенный тип файла по умолчанию
При редактировании коммитов Git в Vim, я хотел бы автоматически разделить окно на открытое, чтобы я мог редактировать сообщение коммита в верхней панели, сохраняя список изменений коммита в нижней панели.
У меня есть ftplugin с файлом gitcommit.vim для установки некоторых других специфичных для Git опций, но когда я добавляю split
к нему я получаю 3 панели (предположительно потому, что вторая панель тоже разбивается, а затем что-то предотвращает дальнейшую рекурсию в бесконечность?).
Я также хотел бы, чтобы он переключился на вторую панель и переместил строку с надписью # Changes to be committed:
в верхнюю часть буфера, когда я делаю коммиты и сообщение уже длинное. Затем я бы хотел вернуться к верхнему буферу. Я знаю, что печатать, чтобы сделать это, но я бы хотел, чтобы это происходило автоматически, если это возможно.
1 ответ
Вот команда, чтобы положить в ваш ~/.vim/ftplugin/gitcommit.vim
файл:
command! -buffer -nargs=0 Changes :execute "normal! \<c-w>s\<c-w>jgg"<bar>call search('^# Changes')<bar>execute "normal! zt\<c-w>p"
Это обеспечивает :Changes
Команда, которая делает то, что вы хотите. Я не решаюсь немедленно отключить его, так как для большинства коммитов я сомневаюсь, что вам понадобится эта функциональность.
Я также согласен с @mMontu, что вам следует ознакомиться с "Беглецом", а также с этим постом Vimcasts: "Беглецы" - ретроспектива.