.vimrc использует имя файла, который сейчас редактируется
686
Nemoden
У меня есть плагин, 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
garyjohn
Это должно сделать это.
map <C-q> :VCSCommit <C-R>%
Для получения дополнительной информации см.
:help c_CTRL-R
РЕДАКТИРОВАТЬ
Чтобы вставить только имя файла, когда он %содержит путь, используйте это:
map <C-q> :VCSCommit <C-R>=expand("%:p:t")<CR>
:pРасширяет имя файла предшествующую включать полный путь и :tпринимает хвост этого пути. Увидеть
:help expand()
Помогает, но это немного не то, что я ожидал. Он вставляет соответствующий путь к файлу, который я редактирую из `pwd`, поэтому он вставляет` include / somefile.php`. Как мне получить просто `somefile.php`. Я прочитал справку и попробовал альтернативное имя файла (`#`) ... все еще не то, что я хочу :( Если нет способа вставить имя файла, я пойду с `% `
Nemoden 13 лет назад
0
@ Немоден: Нет проблем. Я обновил ответ.
garyjohn 13 лет назад
0
Я бы никогда не понял это. Спасибо!
Nemoden 13 лет назад
0
0
mkomitee
Так же, как к вашему сведению, svn log -vпокажет вам, какие файлы были изменены коммитом, поэтому добавление имени файла в сообщении коммита не должно быть действительно необходимым.
% svn log -vr2 ------------------------------------------------------------------------ r2 | mkomitee | 2011-05-27 08:56:02 -0400 (Fri, 27 May 2011) | 1 line Changed paths: M /baz change ------------------------------------------------------------------------ %
Речь идет не о `svn` (в котором я опытен и знаю, как составить список изменений, так что ваша` fyi` не продвигает мои знания), а о `vim` (в котором я не настолько опытен и нуждаюсь в помощи) , так что этот ответ не соответствует тому, что я прошу. @garyjohn уже дал достойный ответ. Я не хотел бы понизить хотя.
Nemoden 13 лет назад
0
Наверное, это плохо, я не сказал, что в нашей системе развертывания мы не видим, какие файлы были изменены, но мы видим только комментарии к этим коммитам. Я, вероятно, внесу некоторые изменения в нашу систему в ближайшем будущем, например, всплывающие окна, отображающие всю информацию о конкретном коммите, но сейчас у меня нет достаточно времени для настройки внутреннего программного обеспечения ... поэтому нам все еще нужно включить filenate в комментарии , Я знаю - это отстой ...
Nemoden 13 лет назад
0
Все в порядке. Я просто подвергаю сомнению необходимость добавления информации к сообщению коммита, которое уже доступно. Мой ответ был бы лучше подходить как комментарий к вопросу, потому что это не была попытка ответить на заданный вопрос.
mkomitee 13 лет назад
0
Да :) Вот почему я ответил немного резко. Извините, если это звучало так (я понял это после перечитывания моих комментариев сейчас). Я действительно ценю помощь сообщества, хотя.
Nemoden 13 лет назад
0