Я могу использовать мышь для надлежащего выбора текста в меньше?

Установка PROMPT_COMMAND кому: cd довольно общий розыгрыш, если Вы не установили его, и Вы - единственный пользователь, затем да, Вы были скомпрометированы.

Если у друзей есть доступ, хотя, это - розыгрыш, я видел многочисленные времена, разговор с ними.

9
29.06.2015, 13:21
2 ответа

Не задача для менее

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

Вкладки уже развернуты

Вы можете использовать клавишу сдвиг и мышь для выделения; это обрабатывается терминалом, а не меньшим количеством. Но терминал не знает, как расположены пробелы и табуляции - меньше интерпретирует табуляции внутри себя, и записывает на экран только обычные символы "".

Есть такие инструменты, как screen, tmux и byobu, которые могут сделать много впечатляющих вещей в этой области. Я не проверял, но предполагаю, что у этих терминальных мультиплексоров нет способа обойти это - быть терминалами, в конце концов, и они будут вести себя так же.

Используйте vim

Если вы показываете файл в less, то есть хорошее решение:
. Нажмите клавишу v в минус , чтобы открыть текущий файл в vim - если ваш $EDITOR и т.д. настроен на vim.

Это не работает, когда показывается stdin из трубопровода или около того, хотя есть обходные пути .

Прокрутка мыши, по крайней мере,

Но вы можете, по крайней мере, прокручивать с помощью колесика мыши:

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

Для быстрой проверки попробуйте:

LESS=-r man less

Опция -X (-no-init) блокирует прокрутку - проверьте, что содержит переменная окружения LESS:

$ echo $LESS

Опция -q (--quiet, --silent) также вызывает проблемы, согласно SU: Как заставить колесо мыши прокручивать меньшее количество пейджеров, используя bash и gnome-терминал?

5
27.01.2020, 20:07

Вы можете скопировать верхнюю строку, отображаемую в less , в выбор X11 CLIPBOARD, набрав less :

|.head -n1|xclip -sel c<Enter><Enter>

меньше буфера от верхней строки до . (то есть все содержимое экрана) к команде head -n1 | xclip -sel c (чтобы сохранить первую строку в выборе CLIPBOARD)

Вы можете настроить свой эмулятор терминала для вставки этой строки при заданном нажатии клавиши или привязки ее к клавише или комбинации клавиш в без привязок клавиш. Например, чтобы привязать его к Alt + C :

printf '%s\n' '#commands' '\ec pipe .head -n1|xclip -sel c\n' | lesskey -

Однако обратите внимание, вы должны нажать Enter после этого, чтобы подтвердить приглашение «| done (нажмите RETURN)».

С помощью xterm вы также можете определить новый режим выделения, например, здесь, удерживая Ctrl + Alt при расширении выделения, которое сообщает меньше , какие строки следует скопировать с текущего экрана:

Напишите сценарий lesspaste , например:

#! /bin/sh -
start=${1%%";"*}
end=${1#*" "}
end=${end%";"*}
head -n "$((end))" | tail -n "$((end - start + 1))" | xclip -sel c

И определите таблицы перевода xterm (здесь, в командной строке для тестирования, но вы захотите добавить это в X файл ресурсов):

xterm -xrm 'XTerm.VT100.translations: #override \
  Meta Ctrl<Btn1Down>: select-start()\n\
  Meta Ctrl<Btn1Motion>: select-extend()\n\
  Meta Ctrl<Btn1Up>: select-end(SECONDARY) \
    insert-formatted("|.lesspaste '\''%P %p'\''\n\n", SECONDARY)'

Затем вы помечаете строки для вставки, перетаскивая мышь с удерживанием Ctrl + Alt , и после отпускания кнопки 1 xterm скажет меньше, чтобы передать текущий экран нашему Скрипт lesspaste с координатами начала и конца, переданными как один аргумент ( y1; x1 y2; x2 ).

(обратите внимание, что это может не работать должным образом, если less вызывается с -s для сжатия пустых строк (как обычно при вызове man ), поскольку ввод, который подается на lesspaste , будет не сжимать пустые строки (поэтому смещение номеров строк может быть неправильным)).

3
27.01.2020, 20:07

Теги

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