Если операции производятся внутри одного документа, то проблем никаких нет - почти все редакторы имеют в своём составе хоткеи для выделения (даже без gpm), копировании и вставки.
Вот комбинации из nano:
^K (F9) Вырезать текущую строку и сохранить её в буфере обмена
^U (F10) Вставить содержимое буфера обмена в текущую строку
^C (F11) Показать положение курсора
^T (F12) Проверить орфографию, если доступно
M-\ (M-|) На первую строку файла
M-/ (M-?) На последнюю строку файла
^_ (F13) (M-G) Перейти на указанный номер строки и ряд
^\ (F14) (M-R) Заменить текст или регулярное выражение
^^ (F15) (M-A) Отметить текст в текущей позиции курсора
M-W (F16) Повторить последний поиск
M-^ (M-6) Копировать текущую строку и сохранить ее в буфере обмена
M-} Увеличить отступ строки
Чтобы не выделять фрагмент строки, здесь в буфер можно поместить только строку целиком.
Другое дело, когда нужно часть текста взять из другого документа. Если нет мышки и возможности установить такие программы как gpm, xclip, то я обычно добавляю нужный текст через echo в сам документ, а уже потом открываю получившийся документ и вставленный кусок текста перемещаю редактором куда нужно.
Пример:
$ ls # имеется два файла, нужно некоторые строки из text2.txt перенести в text.txt
text.txt
text2.txt
$ cat text2.txt >> text.txt # просто дописываем весь текст text2.txt к text.txt (в конец)
$ vi text.txt
А вообще, vi - это многооконный редактор, так что можно открыть оба документа и через выделение\копирование\вставку совершить необходимые действия. На счёт nano - не в курсе, может ли он несколько документов одновременно открывать.
В mc, во встроенном редакторе, для блочных операций определены клавиши:
F3 - начать\завершить выделение (в иксах - SHIFT + курсорный клавиши),
F5 - копия выделенного участка в позицию курсора
Если есть возможность установить gpm - это демон поддержки мыши в консоли, то будет работать произвольное выделение, и, в зависимости от поддержки редактора, можно оперировать отдельными кусками текста.
Сочетания для терминала:
Ctrl+U - вырезать в буфер все команды текущей строки
Ctrl+Y - вставить.
В man bash много комбинаций описано.
Примерно так.