2017-02-14 3 views
0

Я пытаюсь объединитьVimrc: объединить команды с беглецом

:w 
:Gcommit -a -m "update" 
:Gpush 

новой команде, как: W - Я пытался

:command! W w | Gcommit -a -m "update" | Gpush 

Но это не работает, потому что он лечит Gpush как командная оболочка вместо vim-команды.

+0

Не используйте «обновление» как все ваши сообщения о фиксации. [Commit messages] (http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) должен [означать что-то] (http://mislav.net/2014/02/hidden-documentation /) –

+0

Ну, я просто использую это для одного из моих gitrepos, где мне не нужно какое-либо сообщение commit, потому что я использую git для синхронизации моего списка дел на разных платформах (и сохраняю историю). – Nudin

ответ

1
:command! W w | execute "Gcommit -a -m 'update'" | Gpush 

Gcommit не был дан -bar аргумент, что позволило бы завершить в баре (и запретить его принимать планку в качестве аргумента). Таким образом, используйте команду execute, чтобы изолировать команду, как описано в :help :|. См. Также :help :command-bar.