Есть ли способ запустить замену регулярного выражения в текущей строке в bash?Bash reg-exp substitution
Я нахожусь довольно часто в ситуации, где я набрал длинную командную строку, а затем понимаю, что я хотел бы изменить слово где-то в строке.
Мой текущий подход, чтобы закончить линию, нажмите Ctrl + (чтобы добраться до начала строки), вставьте # (закомментировать строку), нажмите клавишу ВВОД, а затем использовать ^oldword^newword
синтаксис (^oldword^newword
выполняет предыдущую команду после замены старого слова на новое слово).
Но для достижения этого должен быть лучший (более быстрый) способ. (Мышь невозможна, так как я чаще всего нахожусь в ssh-сессиях).
Возможно, для этого есть некоторая emacs-подобная команда-ключ, о которой я не знаю.
Редактировать: Я попытался использовать vi-mode. Что-то странное произошло. Хотя я любящий vim-пользователь, у меня были серьезные проблемы с использованием моего любимого bash. Все эти движения пальцев, которые были сожжены в моем подсознании, внезапно перестали работать. Я быстро вернулся в emacs-режим и подумал, давая emacs попробовать в качестве моего любимого редактора (хотя, я думаю, это может произойти снова).
Это действительно работает с Bash, и я бы сказал, что это лучший ответ, когда вы хотите сделать полномасштабный «материал редакции» вашей текущей командной строкой. – jwd 2016-08-17 21:46:12