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

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

Другие ответы упоминают alt+6, но в моем тестировании это не работает.

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

8 ответов

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

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

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

  4. Перейдите к месту, которое вы хотите вставить. Отпустите пасту с помощью Ctrl + U

Где ссылка на эти сочетания клавиш

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

^^ (MA) Пометить текст, начиная с позиции курсора

а также

M-^ (M-6) Скопировать текущую строку и сохранить ее в буфере вырезания

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

unicorns
rainbows

line4

Я Ctrl+K unicorns

rainbows

line4

Я вырезал Ctrl+U

unicorns
rainbows

line4

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

unicorns
rainbows

line4
unicorns

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

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

4.3 Cutbuffer

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

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

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

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

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

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

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

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

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

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

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

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

Mac Pro M1: M = ESC

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

От man nano

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

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

Вы также можете сделать следующее;

  1. nano -cm <text_to_edit>
  2. Поместите курсор туда, где вы хотите начать копирование,
  3. Нажмите Shift + LeftClick и перетащите мышь через текст, который вы хотите скопировать, нажмите 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 - это выделить текст, который вы хотите скопировать, с помощью мыши и щелкнуть по нему правой кнопкой мыши. Это вызовет меню, в котором вы можете выбрать несколько вещей, которые одна из копий - копирование, выберите эту опцию, и вы скопировали текст. Если вы хотите вставить текст, сделайте то же самое, но выберите вместо этого вставить, и текст будет вставлен.

Другие вопросы по тегам