У меня есть пара несовершенных, но, возможно, полезных идей.
Способ 1 - мышиный.
Используйте полосу прокрутки терминала.
Подробности (при условии xterm, что для других терминалов потребуются корректировки).
- Включите полосу прокрутки, если это не так. (В
xterm, это в меню, которое вы получаете с помощью Ctrl + Button2.)
- Убедитесь, что
lessне работает с этой -cопцией (у меня эта опция включена в моей LESSпеременной среды, но она мешает тому, что мы собираемся сделать, поэтому я должен набрать, -cчтобы отключить ее.)
- Используя любые
lessкоманды, которые вам нравятся, прокрутите вверх или вниз, чтобы первая строка, которую вы хотите скопировать, была видна на экране.
- Triple-Button1 выбранной вами стартовой линии, чтобы выбрать его.
- Прокрутите вниз, пока на экране не появится последняя строка, которую вы хотите скопировать. Вы должны использовать только пробел или другие простые клавиши прокрутки, а не
/поиск - смысл в том, lessчтобы отправить все строки на терминал, чтобы их можно было скопировать.
- Button3 на выбранной вами конечной строке, чтобы расширить выбор.
Возможная трудность: ваш буфер прокрутки может быть недостаточно большим. Это можно изменить xtermс помощью параметра saveLinesресурса или -slкомандной строки, но я не знаю, как это изменить в уже запущенном xterm.
Способ 2 - без мышки.
Используйте команду |(pipe) lessдля отправки текста xclip.
Детали:
- Используя любые
lessкоманды, которые вам нравятся, прокрутите вверх или вниз, чтобы расположить последнюю строку, которую вы хотите скопировать, в верхней части экрана. Вы можете пропустить этот шаг и следующий шаг, если вы хотите скопировать весь путь до конца.
- Используйте команду
m(mark), чтобы установить отметку в выбранной вами конечной позиции. Марки сами по себе являются полезной функцией, и вы должны знать их уже vi, но на случай, если вы этого не сделаете: mxустанавливает метку, где xможет быть любая буква, и 'xвозвращает вас туда позже.
- Теперь прокрутите вверх, чтобы первая строка, которую вы хотите скопировать, находилась вверху экрана.
- Используйте команду pipe: |xкоторая вызовет запрос на ввод внешней команды. Это
xдолжна быть та же самая буква, которую вы указали в mкоманде, или $«до самого конца». Типа xclipтам.
Простой случай копирования всей страницы руководства сводится к g|$xclipEnter.
Предупреждение (то есть ужасная вещь, которая только что произошла со мной ): xclipбудет полу-фоновой, работающей как часть группы lessпроцессов. Если вы попытаетесь приостановить работу less, запустите другое задание на том же терминале и вставите в него, оно не будет работать. Затем, когда вы позже наметите man/ lessjob, вдруг произойдет вставка. Я думаю, что это следует считать xclipошибкой ...