Начал работать с git (а именно c BitBucket) и встроенный редактор (VIM) оказался для меня весьма непонятным в управлении.
Возникло желание заменить его на другой (хоть на встроенный в OS Windows 7 блокнот). Как это сделать?
Ответ
1. Уровни настройки.
Редактор, который использует Git, выбирается из следующего списка, именно в этом порядке (из man git-commit):
Значение переменной окружения GIT_EDITOR
Значение в конфигурации Git core.editor. Используется обычный для Git приоритет настроек:
--local — для данного проекта.
--global — для данного пользователя. Логично настраивать редактор именно на этом уровне.
--system — для этой рабочей машины (в рамках ОС).
Значение переменной окружения VISUAL
Значение переменной окружения EDITOR (зачем столько переменных?)
Если все эти варианты не установлены, то использует Vi/Vim.
2. Зачем -w?
Зачем в большинстве приведенных команд параметр -w (--wait)? Git открывает редактор и ждет возврата exit code, чтобы продолжить работу на основе данных в файле. Если этого параметра нет, Git будет продолжать работу сразу и не дождется, когда вы отредактируете и сохраните файл.
из atom -h
-w, --wait Wait for window to be closed before returning.
3. Настройка через изменение core.editor
Не требует прямого редактирования файлов и обладает гибкостью в уровнях настройки. Минус в том, что остальные приложения продолжат использовать редактор по умолчанию.
В общем виде настройка конфигурации выглядит так:
git config --global core.editor "editor --parameters"
3.1 Linux, OS X
Многие редакторы (Atom, TextWrangler и другие) не включают поддержку командной строки при установке. Их необходимо включить отдельно, найдя в меню команду Install Shell Commands
Эти строки можно сразу копировать и выполнять в терминале:
Atom
git config --global core.editor "atom -w"
Emacs (-w по умолчанию):
git config --global core.editor "emacs"
Sublime Text
git config --global core.editor "subl -n -w"
Textmate
git config --global core.editor "mate -w"
TextWrangler
git config --global core.editor "edit -w"
Vim (-w по умолчанию):
git config --global core.editor "vim"
3.2 Windows
Вариант 1: добавить редактор в переменную PATH и использовать строки как для *nix.
Некоторые редакторы при установке сами прописывают себя в PATH.
Вариант 2: не меняя переменную PATH, напрямую указать путь к исполняемому файлу. Обратите внимание на вложенность кавычек и на то, как лаконично выглядит параметр --wait под Windows
Notepad++, на 32-битной ОС (источник):
git config --global core.editor \
"'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Notepad++, на 64-битной ОС:
git config --global core.editor \
"'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Комментариев нет:
Отправить комментарий