.vimrc использует имя файла, который в данный момент редактируется
У меня есть плагин для VIM
который в основном обеспечивает интерфейс для моего SVN
( vcscommand.vim). И я нанес на карту :VCSUpdate
а также :VCSCommit
Команды плагина vcscommand в моем .vimrc
, Все идеально, кроме одного:
После звонка:VCSCommit вы обычно пишете комментарий так:
:VCSCommit I've made some minor changes to this file
В системе развертывания нашей компании не указано, какой файл был зафиксирован, поэтому мы обычно пишем наши комментарии так:
:VCSCommit I've made some minor changes to file .vimrc
В системе развертывания мы видим все эти коммиты, поэтому мы можем сказать, какой файл должен быть загружен на рабочий сервер после нажатия кнопки "Синхронизация".
Итак, мне интересно, как мне сопоставить:VCSCommit, чтобы добавить имя файла в качестве комментария. Мое отображение пока:
map <C-q> :VCSCommit
Таким образом, после нажатия Ctrl+Q, он показывает :VCSCommit
в нижней панели, но я бы хотел увидеть :VCSCOmmit my_file_name_that_i_m_editing_now
,
Как я могу это сделать?
2 ответа
Это должно сделать это.
map <C-q> :VCSCommit <C-R>%
Для получения дополнительной информации см.
:help c_CTRL-R
РЕДАКТИРОВАТЬ
Чтобы вставить только имя файла, когда %
содержит путь, используйте это:
map <C-q> :VCSCommit <C-R>=expand("%:p:t")<CR>
:p
расширяет предыдущее имя файла, чтобы включить полный путь и :t
берет хвост этого пути. Увидеть
:help expand()
Просто, к вашему сведению, svn log -v
покажет вам, какие файлы были изменены коммитом, поэтому добавление имени файла в сообщении коммита на самом деле не нужно
Сначала без -v
:
% svn log -r2
------------------------------------------------------------------------
r2 | mkomitee | 2011-05-27 08:56:02 -0400 (Fri, 27 May 2011) | 1 line
change
------------------------------------------------------------------------
Теперь та же ревизия с -v
:
% svn log -vr2
------------------------------------------------------------------------
r2 | mkomitee | 2011-05-27 08:56:02 -0400 (Fri, 27 May 2011) | 1 line
Changed paths:
M /baz
change
------------------------------------------------------------------------
%