Переместите курсор непосредственно на `<ключевое слово>` в длинной командной строке.

Ни один из эмуляторов терминала, о которых я слышал, не поддерживает перевернутый текст, и в нем нет ничего похожего на CSS.

Технически можно было бы придумать определенную управляющую последовательность (, возможно, в соответствии с жирным, курсивным, подчеркнутым и т. д. последовательностями ANSI ). В идеале, по крайней мере, несколько популярных эмуляторов терминала (, скажем, хотя бы xterm, vte и iterm2 ), реализовали бы эту функцию идентично.

Я не вижу разумных шансов на то, что это произойдет, учитывая, что, вероятно, ваше приложение будет единственным приложением, использующим эту функцию.

Возможно, вы захотите взглянуть на различные способы, позволяющие рисовать картинки внутри эмуляторов терминала. Возможности включают Regis и Sixel (. Я слышал о них, но не знаю их — не знаю, достаточно ли они хороши для вас ), или специальные решения, предлагаемые некоторыми эмуляторами терминала, например. Терминология или Китти (Я тоже не знаком с этими решениями ). Однако с таким решением ваше приложение, вероятно, будет ограничено запуском под определенным эмулятором терминала. Кроме того, вам придется рисовать кандзи самостоятельно.

Я бы сделал вывод, что эмуляторы терминала не могут делать то, что вы ищете, и поэтому, если вам действительно нужны перевернутые глифы,выбор текстового режима является неправильным выбором. Вы должны выбрать графическое приложение, написанное в графическом наборе инструментов (, например. GTK+ или Qt ), где вращающийся текст — это проще простого.

Обновление:

ECMA -48 определяет SCO - SELECT CHARACTER ORIENTATIONescape-последовательности:\e[0 eдолжны выбирать ориентацию по умолчанию, \e[1 eдолжны поворачивать последующие глифы против -по часовой стрелке на 45° и так далее до \e[7 e. Я не думаю, что это когда-либо было реализовано где-либо. Также не знаю, как следует растягивать и обрезать глифы для ориентации, отличной от стандартной и перевернутой. В любом случае, если эмулятор терминала когда-либо реализует перевернутый текст, может быть разумно использовать эту escape-последовательность (, даже если в качестве числового аргумента принимаются только 0 и 4 ).

2
29.07.2019, 16:32
2 ответа

Bash (и любое другое терминальное приложение, использующее библиотеку readline ), имеют функцию поиска. Редакция командной строки выполняется оболочкой, а не терминалом. (См. В чем точная разница между «терминалом», «оболочкой», «tty» и «консолью»?).

Основными командами поиска являютсяCtrl + S и Ctrl + R , которые выполняют поиск вперед и назад соответственно. Это добавочный поиск :после нажатия Ctrl + S или Ctrl + R , введите текст, который вы хотите найти, и вы будет приведено к следующему/предыдущему вхождению того, что вы набрали до сих пор.

Нажмите любую клавишу, которая не вставляет символ и не является клавишей Backspace , чтобы выйти из режима поиска. Обратите внимание, что клавиша будет иметь свой обычный эффект, в частности, Enter запускает команду немедленно. Левый / Правый обычно самый удобный способ.

Если вы хотите отменить поиск, нажмите Ctrl + G и вы вернетесь к редактируемой команде. Эти команды выполняют поиск в истории команд оболочки, а также в текущей командной строке. Если вы случайно перейдете к предыдущей командной строке,Ctrl + G возвращает вас к тому, что вы вводили изначально.

Bash также имеет команды для поиска одного символа без входа в режим поиска:Ctrl + ] вперед, Ctrl + Alt + ] или Alt +-Ctrl + ] назад.

Zsh имеет похожие команды(и еще немало ). Его команды для быстрого поиска одного символа по умолчанию не привязаны к удобной клавише(Ctrl + XCtrl + F вперед и ничего назад ), если вы не находитесь в режиме vi, но вы можете привязать к ним клавишу с помощью bindkey.

2
27.01.2020, 21:58

В bash вы можете использоватьedit-and-execute-command(Ctrl + x , Ctrl + e)для редактирования команды в вашем любимом редакторе:

   edit-and-execute-command (C-x C-e)
          Invoke  an editor on the current command line, and execute the result as shell commands.  
          Bash attempts to invoke $VISUAL, $EDITOR, and emacs as the editor, in that order.

Способ перемещения в определенное место зависит от вашего редактора. Если вы используете vim, вы можете установить курсор на точное слово с помощью плагина vim -easymotion .

2
27.01.2020, 21:58

Теги

Похожие вопросы