autocomplete-ALL-the-things - an urxvt plugin allowing user to easily complete arbitrary text
Copy the autocomplete-ALL-the-things
file to the urxvt perl-lib directory
(default: ~/.urxvt/ext/
).
Add the following lines to your ~/.Xresources
(or ~/.Xdefaults
):
URxvt.perl-ext-common: ...,autocomplete-ALL-the-things
URxvt.keysym.M-C-slash: perl:aAtt:word-complete
URxvt.keysym.M-question: perl:aAtt:fuzzy-complete
URxvt.keysym.M-quotedbl: perl:aAtt:undo
Completes the currently typed word using the other words visible in the urxvt window.
For example the terminal looks like this:
It was strongly inspired by dabbrev
feature in GNU Emacs and later by
skeleton-complete by Bao
Haojun.
Just press the key bound to aAtt:complete
(in the example above:
Alt-Ctrl-slash) to complete the word at point. Subsequent uses cycle through
other possible completions.
It is not recommended to bind the completion actions to the alphanumeric keys. The symbol keys should be preferred. See the issue #13.
Key bound to aAtt:undo
(Alt-Shift-quote) undoes the completion.
Additionally, pressing Escape
undoes the completion too regardless
of this setting.
For more advanced completions use aAtt:fuzzy-word-complete
(Alt-Shift-slash) and aAtt:skeleton-complete
. It's behavior is inspired by
skeleton-complete, please see
its readme for a more
detailed explanation.
aAtt:word-complete
-- classical prefix-based completion for wordsaAtt:WORD-complete
-- completion for WORDS (in the Vim meaning)aAtt:fuzzy-word-complete
-- fuzzy completion for wordsaAtt:fuzzy-WORD-complete
-- fuzzy completion for WORDSaAtt:fuzzy-complete
-- fuzzy completion for arbitrary stringsaAtt:suffix-complete
-- fuzzy completion for suffixes, disrespecting prefixes of both completion and given stringsaAtt:surround-complete
-- fuzzy completion for surrounded by quotes or braces strings, excluding surrounding.aAtt:undo
-- undo the completion (must be used right after a completion)
Thanks to Stanislav Seletskiy for various contributions.
Thanks to Bao Haojun for the great idea of skeleton-complete.
Copyright (C) 2012-2017 Wojciech Siewierski
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.