Можно работать bindkey
без аргументов для получения списка существующей привязки, например:
# Enter vi mode
chopper:~> bindkey -v
# Search for history key bindings
chopper:~> bindkey | fgrep history
"^[OA" up-line-or-history
"^[OB" down-line-or-history
"^[[A" up-line-or-history
"^[[B" down-line-or-history
В emacs режиме привязка, которую Вы хотите, history-incremental-search-backward
, но это не связывается по умолчанию в vi режиме. Для привязки Ctrl-R самостоятельно можно выполнить эту команду или добавить его к Вашему ~/.zshrc
:
bindkey "^R" history-incremental-search-backward
zshzle
страница справочника (man zshzle
) имеет больше информации о строчном редакторе zsh, bindkey, и emacs/vi режимов.
С ударом 4 +:
shopt -s globstar dotglob
rm -- **/pairs.txt
globstar
опция делает **
соответствуйте любому количеству уровней каталога. dotglob
опция заставляет его включать каталоги, имя которых начинается .
(отметьте точкой файлы).
С ksh93 использовать set -o globstar
вместо shopt -s globstar
. Получить эффект dotglob
, использовать FIGNORE=
.
С zsh используйте вторую строку непосредственно. Для включения точечных файлов работать setopt glob_dots
сначала или сделайте вторую строку rm -- **/pairs.txt(D)
.
Обратите внимание что удар **
переходит по символьным ссылкам к каталогам. Ksh и zsh's не делают.
ls
обычно не хороший совет для этого типа вещи.
– Mat
01.08.2013, 10:09
ls
только выходные имена файлов, не пути. пробелы (TAB, NL, SPC) не являются единственными проблематичными символами, заключающие в кавычки символы также.
– Stéphane Chazelas
01.08.2013, 11:56
find -L . -name '.?*' -prune -o -name pairs.txt -exec rm {} +
все же. Таким образом, это не следует за скрытыми директорами, но следует за символьными ссылками.bash
получил его отksh93
который получил его отzsh
.zsh
иksh93
не имейте проблемы со следующими символьными ссылками. – Stéphane Chazelas 01.08.2013, 11:55