Какие настройки определяют способ вставки текста в терминал?

334
WoJ

Бывает, что текст, скопированный из терминала и вставленный в него, nanoзаканчивается так:

auto host0 iface host0 inet static address 10.200.0.3 netmask 255.255.255.0 gateway 10.200.0.254 

Очевидно, есть проблема в том, как возвращается комбинированная оболочка ( fishв моем случае, но это также происходит с bash) + строка редактора. Интересно, что в моем примере выше первые две строки были обработаны правильно (то есть возвращение первой строки).

Тот же файл, открытый с помощью viпозволяет нормальную вставку (формат файла сохраняется).

Какая настройка, которая управляет этим поведением?

1

1 ответ на вопрос

3
egmont

Традиционно вставка в терминальные эмуляторы представляла собой не что иное, как вид, что пользователь быстро набирает заданные буквы с клавиатуры. В сочетании с функцией автоматического отступа многих редакторов (например nano -i), если вставленный (псевдотипированный) текст содержит пробелы или TAB в начале каждой строки, это, очевидно, приводит к увеличению отступа, то есть так называемой лестницы эффект, который вы видите.

Один из возможных способов избежать этого - отключить автоиндентирование на время вставки. Обратитесь nanoк документации, чтобы узнать, возможно ли переключить этот параметр времени выполнения, я не знаю.

В последнее время большинство эмуляторов терминалов ввели «режим вставки в скобках», чтобы улучшить эту ситуацию. Это специальный режим, который приложения могут включать (например vim, nano), и он инструктирует эмулятор терминала заключать вставленный текст между специальными символами управления. Одна из основных целей - чтобы текстовые редакторы автоматически отключали автоиндентирование, когда это происходит, то есть, чтобы избежать эффекта лестницы. В данный момент я не вижу никаких признаков nanoподдержки этого. Запрос о функции подан здесь, возможно, вы могли бы спросить разработчиков, планируют ли они решить эту проблему.

Спасибо. Я не осознавал, что это была особенность редактора, а не проблема с обработкой новой строки. При запуске `nano` без автоматического отступа вставленный текст был корректным. Я рассмотрю другой редактор (возможно, вернусь к Джо, который был моим редактором в течение многих лет) WoJ 7 лет назад 0
Ха-ха, я использую `joe` уже около 20 лет ... и да, он поддерживает режим вставки в скобках :) egmont 7 лет назад 0
20 лет "Джо" ... это было бы более или менее я тоже. Перенесено из Wordprint (я надеюсь, что это правильное название редактора DOS, наверное, так), поэтому привязка клавиш была легкой. Я не помню, почему я переехал в nano несколько лет назад, но чем больше я им пользуюсь, тем меньше он мне нравится. WoJ 7 лет назад 0
Разве это не «Wordstar»? Без разницы... egmont 7 лет назад 0
теперь я помню, это был [`WordPerfect`] (https://en.wikipedia.org/wiki/WordPerfect) WoJ 7 лет назад 1
С этой страницы: «Список функций приложения был значительно более продвинутым, чем его основной конкурент WordStar» ... и по этой ссылке «Кроссплатформенный редактор JOE является очень похожей на WordStar альтернативой. При вызове в качестве jstar Джо подражает многим WordStar keybindings ", а также скриншот, который очень напоминает Джо. На домашней странице Джо написано: «JOE - это сочетание [...] WordStar и [...] GNU-EMACS». Я не использовал ни одного из них, в основном начал с Джо :) egmont 7 лет назад 0

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