Как я могу настроить редактор для работы с Git в Windows? - PullRequest
532 голосов
/ 14 августа 2008

Я пробую Git на Windows . Я дошел до попытки "git commit" и получил эту ошибку:

Терминал тупой, но не визуальный, ни РЕДАКТОР определен. Пожалуйста, предоставьте сообщение с использованием опции -m или -F.

Итак, я понял, что мне нужна переменная окружения с именем EDITOR. Нет проблем. Я установил это, чтобы указать на Блокнот. Это сработало почти. Сообщение о фиксации по умолчанию открывается в Блокноте. Но Блокнот не поддерживает прямые переводы строк. Я вышел и получил Notepad ++ , но я не могу понять, как настроить Notepad ++ как %EDITOR% таким образом, чтобы он работал с Git, как и ожидалось.

Я не женат на Notepad ++. На данный момент я не против, какой редактор я использую. Я просто хочу иметь возможность вводить сообщения коммита в редакторе , а не в командной строке (с -m).

Те из вас, кто использует Git в Windows: Какой инструмент вы используете для редактирования сообщений коммита и что вам нужно было сделать, чтобы он работал?

Ответы [ 32 ]

1 голос
/ 12 марта 2009

Похоже, что Git не найдет редактор, если в пути есть пробелы. Поэтому вам нужно будет поместить пакетный файл, упомянутый в ответ Патрика , в непробельный путь.

1 голос
/ 04 сентября 2009

У меня была такая же проблема, и я нашел другое решение. Я получал

error: There was a problem with the editor 'ec'

У меня есть VISUAL=ec и командный файл с именем ec.bat на моем пути, который содержит одну строку:

c:\emacs\emacs-23.1\bin\emacsclient.exe %*

Это позволяет мне редактировать файлы из командной строки с помощью ec <filename>, а наличие визуального набора означает, что большинство unixy-программ тоже подберут его. Git, похоже, ищет путь иначе, чем другие мои команды - когда я смотрел на git commit в ProcMon , я видел, как он просматривал в каждой папке на пути ec и ec.exe, но не для ec.bat. Я добавил еще одну переменную окружения (GIT_EDITOR=ec.bat), и все было хорошо.

1 голос
/ 25 января 2011

Мне удалось заставить работать версию среды, установив переменную EDITOR с помощью кавычек и /:

EDITOR="c:/Program Files (x86)/Notepad++/notepad++.exe"
1 голос
/ 01 июня 2016

ATOM и Windows 10

  1. Щелкните правой кнопкой мыши значок Atom на рабочем столе и выберите свойства.
  2. Скопировал путь местоположения "Start in"
  3. Заглянул туда с помощью проводника Windows и нашел "atom.exe".
  4. Набрал это в git bash:

    git config --global core.editor C:/Users/YOURNAMEUSER/AppData/Local/atom/app-1.7.4/atom.exe"

Примечание: я изменил все \ на /. Я создал .bashrc в своем домашнем каталоге и использовал /, чтобы установить мой домашний каталог, и он работал, поэтому я предположил, что / будет подходящим вариантом.

1 голос
/ 01 августа 2015

Это работает для Powershell и cmder-1.2 (при использовании с powershell). В ~ / .gitconfig

[core]
    editor = 'c:/program files/sublime text 3/subl.exe' -w

Как сделать Sublime Text редактором по умолчанию для Git?

1 голос
/ 27 октября 2015

Воскрешая старую ветку, но я нашел красивое простое решение, опубликованное здесь - хотя может быть ошибка в пути, по которому вам нужно скопировать файл subl, указанный автором. Я использую Win 7 x64, и мне пришлось поместить файл «subl» в мою папку /Git/cmd/, чтобы он работал. Это работает как шарм.

1 голос
/ 07 февраля 2015

Я использую GitHub для Windows, который является хорошим визуальным вариантом. Но я также предпочитаю командную строку, поэтому, чтобы она работала при открытии хранилища в оболочке Git, я просто установил следующее:

git config --global core.editor vim

, который прекрасно работает.

0 голосов
/ 24 декабря 2016

Вот решение с Cygwin:

#!/bin/dash -e
if [ "$1" ]
then k=$(cygpath -w "$1")
elif [ "$#" != 0 ]
then k=
fi
Notepad2 ${k+"$k"}
  1. Если пути нет, пройти без пути

  2. Если путь пуст, пропустить пустой путь

  3. Если путь не пустой, конвертировать в формат Windows.

Затем я установил эти переменные:

export EDITOR=notepad2.sh
export GIT_EDITOR='dash /usr/local/bin/notepad2.sh'
  1. РЕДАКТОР позволяет скрипту работать с Git

  2. GIT_EDITOR позволяет скрипту работать с командами-концентраторами

Источник

0 голосов
/ 15 января 2014

Это сработало для меня:

  1. Добавьте каталог с исполняемым файлом редактора в переменную PATH . (например, "C: \ Program Files \ Sublime Text 3 \" )
  2. Перезагрузите компьютер.
  3. Измените глобальную переменную core.editor на имя исполняемого файла редактора без расширения '. Exe' (например, git config --global core.editor sublime_text)

Вот и все!

ПРИМЕЧАНИЕ: Sublime Text 3 - редактор, который я использовал для этого примера.

0 голосов
/ 23 августа 2011

При использовании удаленно смонтированного домашнего диска (общий ресурс samba, nfs, ...) ваша папка ~/.git является общей для всех систем, что может привести к нескольким проблемам. Поэтому я предпочитаю скрипт для определения правильного редактора для правильной системы:

#!/usr/bin/perl
# Detect which system I'm on and choose the right editor
$unamea = `uname -a`;
if($unamea =~ /mingw/i){
    if($unamea =~ /devsystem/i){#Check hostname
        exec('C:\Program Files (x86)\Notepad++\notepad++.exe', '-multiInst', '-nosession', @ARGV);
    }
    if($unamea =~ /testsystem/i){
        exec('C:\Program Files\Notepad++\notepad++.exe', '-multiInst', '-nosession', @ARGV);
    }
}
$MCEDIT=`which mcedit`;
if($MCEDIT =~ /mcedit/){
    exec($MCEDIT, @ARGV);
}
$NANO=`which nano`;
if($NANO =~ /nano/){
    exec($NANO, @ARGV);
}
die "You don't have a suitable editor!\n";

Можно было бы рассмотреть простой сценарий оболочки, но я использовал perl, поскольку perl поставляется с msysgit, и ваши unixoid-системы также его предоставят. Помещение скрипта в /home/username/bin, который должен быть добавлен в PATH в .bashrc или .profile. После добавления с git config --global core.editor giteditor.pl у вас есть нужный редактор, где бы вы ни находились.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...