Выберите текст в urxvt терминале с помощью Shift+Arrow или Ctrl+Shift+Arrow

Самый легкий способ сделать точку соответствия шаблона шарика файлами состоит в том, чтобы использовать D спецификатор шарика.

**/*(D)

Приоритет ~ ниже, чем /, так **~.hg/* ** минус соответствия для .hg/*. Но ** является только особенным, если это прежде a /, таким образом, здесь это соответствует файлам в текущем каталоге. Исключить .hg и его содержание, Вам нужно

**/*~.hg~.hg/*(D)

Обратите внимание, что zsh все еще пересечет .hg каталог, который может занять время; это - ограничение **: Вы не можете установить список исключения непосредственно на этом уровне.

2
26.01.2013, 22:09
1 ответ

Это находится на трех шагах, как я заставил его работать на меня:

Шаг 1. Получение работы метаклавиши:

Поместить URxvt*altSendsEscape: true в ~/.Xresources, затем xrdb ~/.Xresources в ~/.xinitrc.

Для xterm, в ~/.Xresources, поместить xterm*metaSendsEscape: true.

Для rxvt моя интуиция говорит мне, что это выглядит идентичным или очень похожим.

Шаг 2. Исправление перемещения курсора

Это даст Вам метаклавишу Emacs, таким образом, Вы не должны будете достигать Escape. Я настроил это при использовании удара и заставил его работать, и затем переключенный на zsh; это все еще работало, но, что касается перемещения слова с привязками клавиш Emacs, кажется, что zsh и удар несколько отличаются: самое близкое, которое я получил к поведению Emacs, я добрался с этим патчем. Если Вы привыкли к Emacs, очень удобно иметь то же перемещение курсора в оболочке.

Теперь, например, устанавливает метку с C-SPC, отмечают ранее введенное слово с M-b, уничтожают его с C-w (или, не стирая его, с M-w), дергают его с C-y, и так далее.

Хорошо, я знаю, что Вы хотели Ctrl-Left и так далее, но это - огромный downtrade: тем путем необходимо достигнуть каждого перемещения курсора и уйти назад, чтобы продолжить вводить. Существует большое отбрасывание раздражения и производительности! "Новое" (но лучше) ярлыки жестки в начале, но я был бы совет любой, просто вынудить себя использовать их, в мгновение ока (поскольку Вы вводите все время!), они прибудут естественно.

Шаг 3. Для копирования в X буферов обмена я устанавливаю это (в ~/.zshrc):

# clipboard
X_CLIPBOARD='xclip -d ":0" -selection clipboard'
alias xi="$X_CLIPBOARD"    # `-i` (or `-in`) is default 
alias xo="$X_CLIPBOARD -o"

Теперь, можно передать вывод по каналу к xi, и вставьте его где угодно (работы даже в non-X tty из-за -d, если X работает); использовать его в команде оболочки, просто обратная галочка xo.

Для использования его в Emacs (работающий в tty) я должен был сделать сценарий, копирующий функциональность xo псевдоним выше:

#!/bin/zsh
xclip -d ":0" -o -selection clipboard

И затем, в ~/.emacs:

(defun pst ()
  "Inserts the X clipboard (xclip -d ':0' -o -selection clipboard)
   at point. `M-1' (the '(1)) to insert in the current buffer."
  (interactive)
  (shell-command "pst" '(1))
  (end-of-line) )

Причина этого, я не мог найти способ сцепить Emacs с псевдонимом zsh, хотя я подозреваю, что это возможно. Во всяком случае вызовите с M-x pst.

Править

Я добавил это обходное решение для создания Emacs forward-char столько символов, сколько Вы просто вставили. (Первая часть кода ниже является сценарием - видят выше - который изменился, также.) Я использую промежуточный файл, чтобы сделать это - хотя, как программист, это идет вразрез с моей интуицией (как дурная привычка), но, ну, в общем, это, кажется, работает. Очевидно, end-of-line (в моем первом ответе), не было хорошо как иногда, Вы хотите вставить отдельное слово посреди предложения.

#!/bin/zsh

CLIP=`xclip -d ":0" -o -selection clipboard`
CLIP_LEN=`echo -n $CLIP | wc -c`
echo "(set-variable '*clip-len* $CLIP_LEN)" > ~/.clip_len
echo -n $CLIP


(setq *clip-len* 0)

(defun pst ()
  "Inserts the X clipboard (xclip -d ':0' -o -selection clipboard)
at point. `M-1' (the '(1)) to insert in the current buffer."
  (interactive)
  (shell-command "pst" '(1))
  (load-file "~/.clip_len")
  (forward-char *clip-len*) )
2
27.01.2020, 22:14
  • 1
    , Это должно произойти в моей жизни, скоро.:-) Спасибо за руководство, ожидая следующего дождливого дня, который даст ему выстрел. –  moodboom 30.11.2016, 22:56

Теги

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