1

Я хочу использовать Sublime Text 2 для редактирования сообщений Git commit. Прямо сейчас у меня есть следующее в моем файле bash rc:

export EDITOR="sublime -nw"

Это хорошо работает, если Sublime уже запущен. Но если это не так, Sublime запускается с 2 окнами, а не с 1: одно для моего сообщения Git commit, а другое - с проектом, над которым я работал совсем недавно. И прежде чем Git перестанет ждать, пока я закончу редактирование, я должен закрыть оба этих окна.

Есть ли лучший способ установить EDITOR который работает вокруг этой проблемы?

1 ответ1

0

После публикации этого вопроса в StackOverflow около года назад (и когда мне сказали, что вопрос принадлежит Superuser), я пришел к настройке, которая работает очень хорошо:

  • ~/.Bin /start_sublime:

    #!/bin/bash
    # this script ensures that Sublime Text is running
    
    if [ ! "$(pidof sublime_text)" ] ; then
      # start up an instance of Sublime
      "/home/alex/Downloads/programs/Sublime Text 2/sublime_text" &
      sleep 1 # avoid race condition
    fi
    
  • ~/.Bin /sub_new_block

Это открывает новое окно и ждет, пока вы закроете только это окно, а не любое другое окно Sublime, которое вы, возможно, открыли. Это делает его работающим как раз для редактирования патчей или фиксации сообщений в git и т.д .:

    #!/bin/bash
   /home/alex/.bin/start_sublime
   "/home/alex/Downloads/programs/Sublime Text 2/sublime_text" -nw $FILE
  • ~/.Bin /sub_existing_noblock:

При этом используется существующее окно, если оно есть, и оболочка не ждет, пока вы закроете окно:

    #!/bin/bash
    "/home/alex/Downloads/programs/Sublime Text 2/sublime_text" $FILE &
  • ~/.Bin /sub_new_noblock:

Это всегда открывает новое окно, и снова оболочка не ждет, когда вы закроете окно:

    #!/bin/bash
    "/home/alex/Downloads/programs/Sublime Text 2/sublime_text" -n $FILE &

Для общего редактирования sub_new_noblock представляется наиболее полезным вариантом, поэтому я называю его как sub . Для git я использую следующий конфиг : git config --global core.editor sub_new_block . Для других программ, которые запускают редактор, я настраиваю их для использования того сценария, который наиболее подходит.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .