Intereting Posts
Как проверить доступ к любому файлу или папке в заданном пути для определенного пользователя Движение курсора в терминалах Как я могу EOF `cat` через` netcat` без закрытия соединения? Удалить каталог под Cryptkeeper без доступа к его учетной записи Выполняется из апплета раскладки клавиатуры GNOME? Как я могу исправить размеры значков диалогового окна Chrome / Chromium в HiDPI? Можно ли отключить Watchdog, если он включен? Гармонический текст в меню tmux Использование ABI_X86 в Gentoo В чем разница между @ и * при ссылке на значения массива bash? Как разрешить сообщение «… система не поддерживает поддержку моментального снимка»? Имеет ли loginuid какое-либо влияние на пределы процесса? Сравните файлы и переименуйте, если содержимое отличается Как включить Acer Aspire One 725 0802 touchpad & F Keys? Файловая система-ACL (setfacl) Эквивалентна «mkdir -p» для рекурсивной обработки ACL

Как изменить / исправить команду v меньше, используя профиль оболочки?

Я начинаю изучать bash и emacs и хочу изменить свой редактор по умолчанию от vi до emacs. Пройдя много замечательных вопросов в разных сообществах packexchange, я не понял этого и, по-видимому, (надеюсь, только временно) испортил команду v при less использовании. Теперь, когда я нажимаю v при чтении файла less , вместо открытия vi (по умолчанию) или emacs (что бы я хотел), он ничего не делает; т.е. он остается less , насколько я могу судить, и я не могу редактировать какой-либо текст. К счастью, я все еще могу выйти с помощью q и я не замечаю, чтобы что-то еще продолжало действовать.

Что я сделал и когда все изменилось:

Я использую эмулятор терминала, снабженный mac osX, но у меня есть XQuartz. С помощью домашней бочки я установил emacs.

Много вопросов о stackexchange проделали отличную работу, объясняя $EDITOR и $VISUAL которые могут быть установлены в моем .bash_profile. Поскольку мой macbook поставляется с уже установленной версией emacs, я убедился, что использую текущую версию emacs, установленную homebrew.

Поскольку я только начинаю изучать все это, я не мог определить лучший способ настроить все. Вот как я в настоящее время имею его в моем .bash_profile:

 # changing emacs from the default osX version to the version obtained from homebrew alias emacs="/usr/local/Cellar/emacs/25.2/Emacs.app/Contents/MacOS/Emacs" alias enw="emacs -nw" # setting emacs as the editor in term instead of vi EDITOR="enw";export EDITOR VISUAL="enw";export VISUAL 

После добавления вышеуказанного кода в мой .bash_profile ничего существенного (что я мог сказать) не изменилось. Я использовал echo чтобы проверить правильность изменения переменных $EDITOR и $VISUAL .

Когда я буду использовать less для чтения файла, я все равно могу набрать v , но мой терминал будет использовать vi для редактирования файла вместо желаемых emacs. Поэтому я попытался изменить, как я определил $EDITOR и $VISUAL , например, используя полный путь, как в моем alias emacs=... с флагом -nw вместо enw . И я также попытался удалить цитаты. Ничего из этого не изменилось, что я мог сказать.

К сожалению, поскольку я только начинаю, и у меня нет конкретных задач для работы, я просто возился с основными командами и файлами, поэтому я использовал less команду. В настоящее время я не знаком с каким-либо другим способом использования переменной $EDITOR в терминале. Поэтому я не уверен, что моя проблема относится только к v или если это проблема с $EDITOR .

В конце концов я увидел некоторые вопросы, связанные с этим, когда было рекомендовано добавить ALTERNATE_EDITOR="";export ALTERNATE_EDITOR и поэтому я попробовал это, не понимая почему. Также нет заметной разницы с командой v less .

После некоторого поиска я нашел этот вопрос, который кажется самым близким к моему первоначальному плану (хотя я и не пытался что-либо направить, как я его понимаю, и я не понимаю, к какому «пейджингу», к сожалению). Поэтому я изменил $EDITOR="enw" на $EDITOR="env TERM=xterm-256color enw" и это было примерно так, когда v прекратил делать что-либо, читая файл с less .

Прежде чем делать последнее добавление кода, я проверил, что обычно имеет значение $TERM , для меня уже был xterm-256color . Теперь я не говорю, что это то, что испортило мою команду v , это всего лишь временная шкала, где v прекратил вызывать vi, а less . Я все изменил до самого первого кода, который я пробовал, но v все еще не будет работать для меня.

(Извините, что это так долго, просто пытаюсь объяснить процесс на случай, если это поможет!) Теперь, если я закомментирую свои дополнения $EDITOR к моему .bash_profile, все вернется к норме, и это хорошо, я думаю. Поэтому я могу использовать v less пока я не использую $EDITOR и $VISUAL в моем .bash_profile. Однако я хочу, чтобы эти изменения изменились, и вот тут моя дилемма. Это, наверное, тривиальный вопрос, но я был бы очень признателен за любые советы или прозрения.

PS. При попытке emacsclient эту проблему я столкнулся с emacsclient и я могу использовать эту команду, но я не понимаю, почему я должен использовать это вместо моего enw .

Псевдонимы только «активны» в текущем сеансе оболочки. less не сможет вызывать псевдоним через $EDITOR или $VISUAL (и никакой другой процесс, кроме, возможно, сам оболочки).

Вместо этого установите, например, VISUAL

 export VISUAL='/usr/local/Cellar/emacs/25.2/Emacs.app/Contents/MacOS/Emacs -nw' 

или установить emacs в стандартном местоположении, доступном через ваш $PATH , либо путем его компиляции, либо с использованием чего-то вроде HomeBrew, MacPorts или Fink, а затем просто используйте export VISUAL='emacs -nw' .