Arhn - архитектура программирования

git-лог в eshell

Я пытаюсь запустить команды git в eshell. Когда я бегу:

git log -p

это будет выглядеть так:

git-log в eshell

Обратите внимание, что ^[[k перед курсором. Клавиша со стрелкой вниз не работает, выдает ошибку "Не найдено". Вы можете увидеть это в минибуфере. Единственный способ прокрутить вниз — использовать клавишу RETURN, и это выглядит довольно грязно:

git-log в eshell -- прокрутка

Мой $TERM установлен на eterm, и я тоже попробовал ansi. Они одинаковые. Кто-нибудь испытал это раньше?

Спасибо

Редактировать:

У меня есть способ обойти это. Я создал эту функцию:

(defun eshell/git (&rest args)
     (apply 'eshell-exec-visual (cons "git" args)))

Поэтому каждый раз, когда я запускаю команду git, она запускает вывод в буфере *git*.

Если у вас есть другие способы, пожалуйста, дайте мне знать.

20.04.2011

Ответы:


1

Вы можете прокручивать только с помощью RETURN, потому что используется пейджер. Вы можете отключить его навсегда, изменив параметр конфигурации git core.pager, или вы можете отключить его временно, установив для переменной среды GIT_PAGER пустую строку. Другой возможный источник проблемы - последовательности ^[, которые используются для переключения цветов. Вы можете отключить их с помощью параметра --no-color для команды git log.

20.04.2011
  • GIT_PAGER отлично работает, теперь я могу сделать правильный grep в *eshell*. --no-color, похоже, не помогает, но поскольку пейджера нет, они больше не отображаются. Спасибо. 20.04.2011

  • 2

    Пробовали ли вы использовать Magit? Он интегрирует git в ваш обычный рабочий процесс Emacs. Я не могу вам много рассказать об этом, потому что я только начал использовать Emacs и все еще пытаюсь изучить основы. Хотя Магит кажется очень милым. Установите magit, откройте файл в своем репозитории и запустите M-x magit-log-long, который создаст буфер с выводом git log с графиком истории ascii. Я почти уверен, что вы также можете проверить старые коммиты из этого буфера, но вам следует прочитать руководство, чтобы быть уверенным.

    27.04.2011

    3

    У вас должны быть включены цвета в git, и этот конкретный псевдотерминал не работает в цвете. Попробуйте использовать m-x ansi-term. Он поддерживает цвета и, как правило, больше похож на терминал.

    Или вы можете попробовать этот хук:

     (add-hook 'eshell-preoutput-filter-functions
               'ansi-color-filter-apply)
    

    Ссылка на здесь.

    01.05.2011
  • для протокола, у меня тоже есть проблема с OP, мои цвета ansi работают нормально, проблема в том, что встроенный пейджер git плохо работает с режимом оболочки и ограниченной функциональностью терминала eshell 04.09.2012

  • 4

    отключите встроенный пейджер git, установив для него значение cat:

    git config --global core.pager cat
    
    04.09.2012
  • Это не очень удовлетворительное решение, если вы используете git как из eshell, так и из более традиционной оболочки. 27.06.2014

  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..