когда я набираю команды на терминале, я обычно пытаюсь использовать его как текстовый редактор, я знаю, что это не то, как его следует использовать, но недавно я смотрел разговор на YouTube, и докладчик сделал что-то интересное в 17:25 https://youtu.be/f5phsX4VUOU?t=17m25s. Похоже, выскочил мини-текстовый редактор -> он отредактировал текст -> закрыл его, и изменения отразились на терминале. Как я могу это сделать? это какой-то плагин или ярлык?
1 ответ
Если вы хотите отредактировать команду из своей истории, команда fc
может помочь.
Сначала установите редактор на ваш выбор через переменную FCEDIT
. Чтобы использовать TextEdit.app, сделайте это:
$ FCEDIT='open -nW'
Затем выполните несколько команд:
$ echo "this command neets editing"
Позже запустите fc
:
$ fc
TextEdit должен открыться, с echo "this command neets editing"
в новом окне. Измените "neets" на "needs", затем сохраните файл и выйдите из редактора. Как только редактор выйдет, будет выполнена измененная команда, отображающая исправленный текст.
Если вы хотите редактировать активную команду, вызовите команду edit-and-execute-command
. В моей оболочке это связано с Ctrl-x Ctrl-e
. Это зависит от значения переменной среды EDITOR
.
Найдите привязку ключа в вашей оболочке:
$ bind -q edit-and-execute-command
edit-and-execute-command can be invoked via "\C-x\C-e".
Это Ctrl-x Ctrl-e
. Установите РЕДАКТОР на то, что вам нравится. Я использую emacs
, но давайте снова использовать TextEdit, так как это OS X.
$ EDITOR='open -nW'
$ echo "this command neets editing" #now type ctrl-x then ctrl-e
Ваш редактор откроется. Отредактируйте команду и сохраните файл. Когда вы закроете свой редактор, новая команда будет запущена.
Для получения дополнительной информации о fc
, запустите help fc
. Для получения дополнительной информации о edit-and-execute-command
запустите man readline
. Для получения дополнительной информации о bind
, запустите help bind
.