Установка PROMPT_COMMAND
кому: cd
довольно общий розыгрыш, если Вы не установили его, и Вы - единственный пользователь, затем да, Вы были скомпрометированы.
Если у друзей есть доступ, хотя, это - розыгрыш, я видел многочисленные времена, разговор с ними.
Нет,
.
Я не думаю, что вы можете сделать это напрямую, потому что меньше не имеет курсора, чтобы начать с.
Понадобится навигация, чтобы начать и закончить текст, чтобы выделить его.
минус
просто не подходит для навигации на уровне символов.
Вы можете использовать клавишу сдвиг и мышь для выделения; это обрабатывается терминалом, а не меньшим количеством. Но терминал не знает, как расположены пробелы и табуляции - меньше интерпретирует табуляции внутри себя, и записывает на экран только обычные символы "".
Есть такие инструменты, как screen
, tmux
и byobu
, которые могут сделать много впечатляющих вещей в этой области.
Я не проверял, но предполагаю, что у этих терминальных мультиплексоров нет способа обойти это - быть терминалами, в конце концов, и они будут вести себя так же.
Если вы показываете файл в less
, то есть хорошее решение:
.
Нажмите клавишу v в минус
, чтобы открыть текущий файл в vim
- если ваш $EDITOR
и т.д. настроен на vim
.
Это не работает, когда показывается stdin из трубопровода или около того, хотя есть обходные пути .
Но вы можете, по крайней мере, прокручивать с помощью колесика мыши:
Это, кажется, даже включено по умолчанию, но события колесика мыши подавляются другой опцией.
Для быстрой проверки попробуйте:
LESS=-r man less
Опция -X
(-no-init
) блокирует прокрутку - проверьте, что содержит переменная окружения LESS
:
$ echo $LESS
Опция -q
(--quiet
, --silent
) также вызывает проблемы, согласно SU: Как заставить колесо мыши прокручивать меньшее количество пейджеров, используя bash и gnome-терминал?
Вы можете скопировать верхнюю строку, отображаемую в 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
, будет не сжимать пустые строки (поэтому смещение номеров строк может быть неправильным)).