когда я набираю команды на терминале, я обычно пытаюсь использовать его как текстовый редактор, я знаю, что это не то, как его следует использовать, но недавно я смотрел разговор на 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 .
