Копировать (только копировать, не вырезать) в Nano?

Мне нужно скопировать некоторый текст в Nano, поэтому я поискал в Google и нашел несколько сообщений здесь, на Stack Exchange и других сайтах, в которых OP спрашивает: "Как я могу скопировать?", и люди обычно отвечают: "Вы можете использовать ctrl+K". Человек спрашивает, как копировать, и ему говорят, как вырезать.

В других ответах упоминается alt+6 но в моем тестировании это не работает.

Неужели нет возможности скопировать текст в Nano? Есть ли обходной путь?

  1. Поместите курсор в начало символа, с которого вы хотите скопировать. Нажмите Alt+Shift+A чтобы установить отметку. (В качестве альтернативы, установите отметку с помощью Ctrl+6 )

  2. Используйте клавиши со стрелками, чтобы выделить текст для копирования.highlight with nano image

  3. Воспользуйся Alt+Shift+6 для копирования (в качестве альтернативы, Alt + 6 )

  4. Перейдите к месту, которое вы хотите вставить. Разделительная паста с Ctrl+U

    paste image

Где ссылка на эти привязки клавиш

Все они определены в документации, доступ к которой вы можете получить с помощью Ctrl+G в любой момент. Обратите внимание, что ведущий ^ расшифровывается как Ctrl и M для Alt в документации, поскольку это традиционный способ определения метасимволов в Unix. Строки из документации:

^^ (M-A) Отметьте текст, начиная с позиции курсора

и

M-^ (M-6) Скопируйте текущую строку и сохраните ее в cutbuffer

Обходной путь: вырезать, затем не обрезать и снова не обрезать в том месте, куда вы хотите скопировать текст.

unicornsrainbowsline4

Я Ctrl+K unicorns

rainbowsline4

Я необрезанный Ctrl+U

unicornsrainbowsline4

Я перемещаю курсор в конец и Ctrl+U снова

unicornsrainbowsline4unicorns

Да, копирование текста немного странно в nano и несколько сбивает с толку из-за противоречивых отчетов в Интернете и отсутствия ясности (или здравого смысла ...) как в том, как это было реализовано (ИМХО), так и в официальные документы...

Согласно документам:

4.3 Буфер обмена

Текст можно вырезать из файла, по целой строке за раз, с помощью команды "Вырезать текст" (привязка клавиш по умолчанию: ^K). Линия разреза сохраняется в буфере разреза. Последовательные штрихи ^K добавят каждую линию вырезания в этот буфер, но ^K после любого другого нажатия клавиши перезапишет весь буфер вырезания.

Содержимое cutbuffer можно вставить обратно в файл с помощью команды ’Неразрезанный текст’ (привязка ключа по умолчанию: ^U).

Строку текста можно скопировать в буфер вырезания (не вырезая ее) с помощью команды ’Копировать текст’ (привязка клавиш по умолчанию: M-6).

Поскольку в основном вы используете CTRL+K к резать, CTRL+U к вставить, и линия разреза остается в буфере обмена, вы можете сделать быстрый резать и вставить для замены, а затем вставить снова для получения "копии".

Но мне не нравится этот "обходной путь"...

В последней части документов говорится, как скопировать: используя ALT+6копировать) объявление затем вставляется с помощью CTRL+U к вставить.

(Документы на самом деле говорят "M"ключ, который означает, что Мета-ключ, как сказал mook765: "the Meta- ключ, которого не существует"... и обычно это просто ALT на современных клавиатурах.)

Вы также можете выбрать несколько строк с помощью ALT+6 и перемещайте раздел с помощью клавиш со стрелками.

Надеюсь, это поможет.

Обратите внимание, что это решение работает только в версиях Ubuntu с графическим интерфейсом, а не в интерфейсе TTY.

Я постоянно копирую текст в nano, просто делая CTRL+SHIFT+C на выделенном тексте, потому что это комбинация клавиш по умолчанию для копирования любого текста в терминале. Это относится и к nano. Это также можно найти в

Редактировать > Копировать

От man nano

Когда требуется вырезать или скопировать более точный фрагмент текста, можно отметить его начало с помощью ^6, переместить курсор в его конец (выделенный текст будет выделен), а затем использовать ^K, чтобы вырезать его, или M-6, чтобы скопировать его в буфер вырезания.

M означает, что Meta-клавиша, которая существует не на всех клавиатурах, но на некоторых.На клавиатурах без Meta-ключ другой модификатор-ключи, такие как Alt или Esc может сработать. На моем компьютере я обнаружил, что комбинация Alt+6 работает нормально.

вы также можете выполнить следующие действия;

  1. nano -cm <text_to_edit>
  2. Поместите курсор туда, где вы хотите начать копирование,
  3. Нажмите Shift + Щелкните левой кнопкой мыши и проведите мышью по тексту, который вы хотите скопировать, нажмите Ctrl+Shift+C
  4. Поместите курсор, который вы хотите вставить в текст,
  5. Нажмите Ctrl+Shift+V

Варианты -c и -m разработано в man nano:

-c, --constantshow    Constantly show the cursor position on the status bar.  Note that this over‐    rides option-m, --mouse    Enable  mouse  support,  if  available for your system.  When enabled, mouse    clicks can be used to place the cursor, set the mark (with a double  click),    and  execute  shortcuts.  The mouse will work in the X Window System, and on    the console when gpm is running.  Text can still be selected  through  drag‐    ging by holding down the Shift key.

Самый простой способ, который я нахожу для копирования текста в nano, - это выделить текст, который вы хотите скопировать, с помощью мыши и щелкнуть по нему правой кнопкой мыши. Это вызовет меню, в котором вам будет предложено несколько вариантов, один из которых - копировать, выберите этот вариант, и вы скопировали текст. Если вы хотите вставить текст, сделайте то же самое, но вместо этого выберите вставить, и он вставит текст.

mac pro m1: M=ESC

  1. Расположите курсор.
  2. ESC+A: Отметьте текст в положении курсора.
  3. Используйте клавиши со стрелками, чтобы выделить текст.
  4. ESC+6: Принято.
  5. Расположите курсор.
  6. Ctrl+U: Вставить.

Какая у вас раскладка клавиатуры? Оба Alt-6 (он же “M-6”) и Alt-^ (он же "M-^`) работают для меня.

Я использую англо-ивритскую клавиатуру Logitech, которую купил несколько лет назад. Никогда не было проблем.