2

У меня есть плагин для 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 ответа2

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()
0

Svn 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
------------------------------------------------------------------------
% 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .