Существует большой плагин для VIM, который делает проверку синтаксиса Syntastic. Существует много других инструментов, доступных также для управления файлами, здания, и т.д. Перейдите к IRC #vim на freenode.net, существует много услужливых людей там.
То, что Вы просите, является "оболочкой мерзавца". Кажется, существует тот там именем git-sh
.
Нет обобщенного решения, о котором я знаю, но мерзавец не является единственной программой с пользовательской оболочкой только для выполнения своих собственных команд. Подобные примеры могли бы быть mysql
, telnet
, ftp
, и т.д. существует на самом деле множество программ, которые действительно имеют их собственное созданным в средах оболочки, и у Вас есть выбор или питания их команды как аргументы или запуска их как оболочки и выполнение команд внутренне.
Также полезный вдоль этих строк заполнение клавишей Tab. Хорошая библиотека заполнения клавишей Tab будет иметь все возможные команды и аргументы в пользу программы как мерзавец в Ваших кончиках пальцев.
Примечание: В то время как "оболочка мерзавца" является правильной терминологией здесь, не запутывайтесь проектом "оболочки мерзавца", который является там, который разработан для замены системной оболочки входа в систему для предоставления ограниченных полномочий для действий мерзавца только.
Можно определить команды мерзавца как псевдонимы в оболочке. Необходимо сделать выбор, когда команда мерзавца является также командой оболочки, например. git diff
, git mv
, … функция all_git_aliases_on
делает все команды мерзавца доступными без git
префикс, в то время как функция unambiguous_git_aliases_on
делает команды мерзавца доступными без git
префикс, только если нет команды оболочки тем именем.
Функция git_aliases_off
удаляет эти псевдонимы; если у Вас были псевдонимы тем же именем как команда мерзавца (например. alias mv='mv -i'
), они не будут восстановлены, необходимо установить их снова (добавьте их определения git_aliases_off
функция).
Можно хотеть звонить unambiguous_git_aliases_on
от Вашего ~/.bashrc
или ~/.zshrc
, или дать toggle_git_aliases
короткий псевдоним такой как g
.
git_commands=$(git help -a | grep '^ *[a-z]')
git_aliases=
all_git_aliases_on () {
for x in $git_commands; do
alias $x="git $x"
git_aliases="$git_aliases $x"
done
}
unambiguous_git_aliases_on () {
for x in $git_commands; do
if ! type $x >/dev/null 2>/dev/null; then alias $x="git $x"; fi
git_aliases="$git_aliases $x"
done
}
git_aliases_off () {
unalias $git_aliases
git_aliases=
}
toggle_git_aliases () {
if [ -n "$git_aliases" ]; then
all_git_aliases_on
else
git_aliases_off
fi
}
Вы можете делать это путем создания псевдонимов в Вашем ~/.bashrc
файл, но быть осторожным в псевдонимах, которые Вы выбираете, поскольку это могло заставить Вас переопределять другие программы/сценарии командной строки. Вот использование в качестве примера ls
:
alias l = 'ls -Alh'
Таким образом, когда я ввожу l
на командной строке колотите выполнения ls -Alh
вместо этого. Таким образом, Вы могли сделать что-то как:
alias gx = 'git x'
alias gy = 'git y'
в Вашем ~/.bashrc
затем выполнение gx
работал бы git x
.
Я не знаю об универсальном решении, которое работало бы на программы в целом все же.
Я сделал бы a shell emulator
. Это - в основном маленький сценарий, который даст Вам поддельную подсказку и примет определенные входные значения. Для экс-клена это могло быть похожим на это:
user@host ~$ gitshell
Welcome to git-shell. Type help for command info
>> help
help - display this message
x - do x
y - do y
exit - close the shell
>> exit
user@host ~$
Не трудно кодировать (используйте Python или жемчуг или что-то), и после того как Вы помещаете его в свой $PATH, Вы установлены пойти. Это могло использоваться для мерзавца, hg, svn независимо от того, что Вы хотите. Просто идея, это - то, что я сделал бы.