From 0778dfe1ce7bb4cec5a5e66409290591a9bc3592 Mon Sep 17 00:00:00 2001 From: Hugues Hiegel Date: Tue, 3 Feb 2009 17:18:19 +0100 Subject: [KeyBindings] vi-cmd mode --- user:hugues/Bindings | 178 +++++++++++++++++++++++++++++++++++++++++++ user:hugues/Environment.zsh | 4 + user:hugues/KeyBindings.zsh | 181 ++------------------------------------------ 3 files changed, 189 insertions(+), 174 deletions(-) create mode 100644 user:hugues/Bindings diff --git a/user:hugues/Bindings b/user:hugues/Bindings new file mode 100644 index 0000000..301eb28 --- /dev/null +++ b/user:hugues/Bindings @@ -0,0 +1,178 @@ +## Résultat d'un ``bindkey'' + +bindkey '#' set-mark-command +bindkey '^A' beginning-of-line +bindkey '^B' backward-char +bindkey '^D' delete-char-or-list +bindkey '^E' end-of-line +bindkey '^F' forward-char +bindkey '^G' send-break +bindkey '^H' backward-delete-char +bindkey '^I' expand-or-complete +bindkey '^J' accept-line +bindkey '^K' kill-line +bindkey '^L' clear-screen +bindkey '^M' accept-line +bindkey '^N' down-line-or-history +bindkey '^O' accept-line-and-down-history +bindkey '^P' up-line-or-history +bindkey '^Q' push-line +bindkey '^R' history-incremental-search-backward +bindkey '^S' history-incremental-search-forward +bindkey '^T' transpose-chars +bindkey '^U' kill-whole-line +bindkey '^V' quoted-insert +bindkey '^W' backward-kill-word +bindkey '^X^B' vi-match-bracket +bindkey '^X^F' vi-find-next-char +bindkey '^X^J' vi-join +bindkey '^X^K' kill-buffer +bindkey '^X^N' infer-next-history +bindkey '^X^O' overwrite-mode +bindkey '^X^R' _read_comp +bindkey '^X^U' undo +#bindkey '^X^V' vi-cmd-mode +bindkey '^X^X' exchange-point-and-mark +bindkey '^X*' expand-word +bindkey '^X=' what-cursor-position +bindkey '^X?' _complete_debug +bindkey '^XC' _correct_filename +bindkey '^XG' list-expand +bindkey '^Xa' _expand_alias +bindkey '^Xc' _correct_word +bindkey '^Xd' _list_expansions +bindkey '^Xe' _expand_word +bindkey '^Xg' list-expand +bindkey '^Xh' _complete_help +bindkey '^Xm' _most_recent_file +bindkey '^Xn' _next_tags +bindkey '^Xr' history-incremental-search-backward +bindkey '^Xs' history-incremental-search-forward +bindkey '^Xt' _complete_tag +bindkey '^Xu' undo +bindkey '^X~' _bash_list-choices +bindkey '^Y' yank +bindkey '^D' list-choices +bindkey '^G' send-break +bindkey '^H' backward-kill-word +bindkey '^I' self-insert-unmeta +bindkey '^J' self-insert-unmeta +bindkey '^L' clear-screen +bindkey '^M' self-insert-unmeta +bindkey '[3~' kill-region +bindkey '' history-search-backward +bindkey '' history-search-forward +bindkey '' forward-word +bindkey '' backward-word +bindkey '^_' copy-prev-word +bindkey ' ' magic-space +bindkey '!' expand-history +bindkey '\'' quote-region +bindkey '\$' spell-word +bindkey ''' quote-line #'' +bindkey ',' _history-complete-newer +bindkey '-' neg-argument +bindkey '.' insert-last-word +bindkey '/' _history-complete-older +bindkey '0' digit-argument +bindkey '1' digit-argument +bindkey '2' digit-argument +bindkey '3' digit-argument +bindkey '4' digit-argument +bindkey '5' digit-argument +bindkey '6' digit-argument +bindkey '7' digit-argument +bindkey '8' digit-argument +bindkey '9' digit-argument +bindkey '<' beginning-of-buffer-or-history +bindkey '>' end-of-buffer-or-history +bindkey '?' which-command +bindkey 'A' accept-and-hold +bindkey 'B' backward-word +bindkey 'C' capitalize-word +bindkey 'D' kill-word +bindkey 'F' forward-word +bindkey 'G' get-line +bindkey 'H' run-help +bindkey 'L' down-case-word +bindkey 'N' history-search-forward +bindkey 'OA' up-line-or-history +bindkey 'OB' down-line-or-history +bindkey 'OC' forward-char +bindkey 'OD' backward-char +bindkey 'P' history-search-backward +bindkey 'Q' push-line +bindkey 'S' spell-word +bindkey 'T' transpose-words +bindkey 'U' up-case-word +bindkey 'W' copy-region-as-kill +bindkey '[1~' beginning-of-line +bindkey '[2~' overwrite-mode +bindkey '[3~' delete-char +bindkey '[4~' end-of-line +bindkey '[5~' history-beginning-search-backward-end +bindkey '[6~' history-beginning-search-forward-end +bindkey '' up-line-or-history +bindkey '' down-line-or-history +bindkey '' forward-char +bindkey '' backward-char +bindkey '_' insert-last-word +bindkey 'a' accept-and-hold +bindkey 'b' backward-word +bindkey 'c' capitalize-word +bindkey 'd' kill-word +bindkey 'f' forward-word +bindkey 'g' get-line +bindkey 'h' run-help +bindkey 'l' down-case-word +bindkey 'n' history-search-forward +bindkey 'p' history-search-backward +bindkey 'q' push-line +bindkey 's' spell-word +bindkey 't' transpose-words +bindkey 'u' up-case-word +bindkey 'w' copy-region-as-kill +bindkey 'x' execute-named-cmd +bindkey 'y' yank-pop +bindkey 'z' execute-last-named-cmd +bindkey '|' vi-goto-column +bindkey '~' _bash_complete-word +bindkey '^?' backward-kill-word +bindkey '^\' up-history +bindkey '^\' down-history +bindkey '^\' forward-char +bindkey '^\' backward-char +bindkey '^_' undo +bindkey ' '-'~' self-insert +bindkey '' backward-delete-char +bindkey '\M-^@'-'\M-' self-insert + +# Raccourcis pour les todo : funny :) +# 'q' stands for 'push-line' + +bindkey -s 'r' 'Q rehash\n' +bindkey -s 'R' 'Q reset\n' + +bindkey -s 't' 'Q todo\n' +#bindkey -s 'T' 'Q todo all -c\n' + +bindkey -s 'é' ' 2>/dev/null ' +bindkey -s '2' ' 2>&1 ' + +bindkey -s 'm' 'Q make\n' +bindkey -s 'M' 'Q make\n' + +bindkey -s 'l' 'Q l\n' +#bindkey -s 'L' 'Q la\n' + +bindkey -s ' ' '\\ ' + +bindkey -s 'g' 'Q git-status\n' +bindkey -s 'G' 'Q git-repack -d -a\n' + +bindkey -s 'S' 'Q sudo !!' + +bindkey -s 'X' 'Q exec zsh\n' + +# conflicts with "lowercase word" +#bindkey -s 'L' 'Q clear\n' diff --git a/user:hugues/Environment.zsh b/user:hugues/Environment.zsh index 2256b90..1ea0670 100644 --- a/user:hugues/Environment.zsh +++ b/user:hugues/Environment.zsh @@ -48,9 +48,13 @@ TIMEFMT='`%J` -- %P cpu System %S Total %E' +KEYTIMEOUT=1 + +# Displays who is logging in or out WATCHFMT=$c_$color[bold]$_c"%n"$c_$color[none]$_c" has "$c_$color[bold]$_c"%a"$c_$color[none]$_c" %l from %M" WATCH=notme +# Word delimiters WORDCHARS='*?-_~!#$%^' ## Caractères faisant partie des mots ## J'ai viré les '/()[]{}' diff --git a/user:hugues/KeyBindings.zsh b/user:hugues/KeyBindings.zsh index 0be36e9..3d9971b 100644 --- a/user:hugues/KeyBindings.zsh +++ b/user:hugues/KeyBindings.zsh @@ -50,179 +50,12 @@ test $TERM = 'xterm' && # npo : which-command est sur ESC-? par defaut # Lancez ``bindkey'' pour en savoir plus !! -#!/bin/zsh +bindkey -A vicmd main ; source $0:h/Bindings +bindkey -s 'Q' 'ixpush-line ' +bindkey -s 'q' 'ixpush-line ' +bindkey -A viins main ; source $0:h/Bindings -## Résultat d'un ``bindkey'' +# Enters vi-cmd mode at each prompt +zle-line-init() { zle vi-cmd-mode } +zle -N zle-line-init -bindkey '#' set-mark-command -bindkey '^A' beginning-of-line -bindkey '^B' backward-char -bindkey '^D' delete-char-or-list -bindkey '^E' end-of-line -bindkey '^F' forward-char -bindkey '^G' send-break -bindkey '^H' backward-delete-char -bindkey '^I' expand-or-complete -bindkey '^J' accept-line -bindkey '^K' kill-line -bindkey '^L' clear-screen -bindkey '^M' accept-line -bindkey '^N' down-line-or-history -bindkey '^O' accept-line-and-down-history -bindkey '^P' up-line-or-history -bindkey '^Q' push-line -bindkey '^R' history-incremental-search-backward -bindkey '^S' history-incremental-search-forward -bindkey '^T' transpose-chars -bindkey '^U' kill-whole-line -bindkey '^V' quoted-insert -bindkey '^W' backward-kill-word -bindkey '^X^B' vi-match-bracket -bindkey '^X^F' vi-find-next-char -bindkey '^X^J' vi-join -bindkey '^X^K' kill-buffer -bindkey '^X^N' infer-next-history -bindkey '^X^O' overwrite-mode -bindkey '^X^R' _read_comp -bindkey '^X^U' undo -#bindkey '^X^V' vi-cmd-mode -bindkey '^X^X' exchange-point-and-mark -bindkey '^X*' expand-word -bindkey '^X=' what-cursor-position -bindkey '^X?' _complete_debug -bindkey '^XC' _correct_filename -bindkey '^XG' list-expand -bindkey '^Xa' _expand_alias -bindkey '^Xc' _correct_word -bindkey '^Xd' _list_expansions -bindkey '^Xe' _expand_word -bindkey '^Xg' list-expand -bindkey '^Xh' _complete_help -bindkey '^Xm' _most_recent_file -bindkey '^Xn' _next_tags -bindkey '^Xr' history-incremental-search-backward -bindkey '^Xs' history-incremental-search-forward -bindkey '^Xt' _complete_tag -bindkey '^Xu' undo -bindkey '^X~' _bash_list-choices -bindkey '^Y' yank -bindkey '^D' list-choices -bindkey '^G' send-break -bindkey '^H' backward-kill-word -bindkey '^I' self-insert-unmeta -bindkey '^J' self-insert-unmeta -bindkey '^L' clear-screen -bindkey '^M' self-insert-unmeta -bindkey '[3~' kill-region -bindkey '' history-search-backward -bindkey '' history-search-forward -bindkey '' forward-word -bindkey '' backward-word -bindkey '^_' copy-prev-word -bindkey ' ' magic-space -bindkey '!' expand-history -bindkey '\'' quote-region -bindkey '\$' spell-word -bindkey ''' quote-line #'' -bindkey ',' _history-complete-newer -bindkey '-' neg-argument -bindkey '.' insert-last-word -bindkey '/' _history-complete-older -bindkey '0' digit-argument -bindkey '1' digit-argument -bindkey '2' digit-argument -bindkey '3' digit-argument -bindkey '4' digit-argument -bindkey '5' digit-argument -bindkey '6' digit-argument -bindkey '7' digit-argument -bindkey '8' digit-argument -bindkey '9' digit-argument -bindkey '<' beginning-of-buffer-or-history -bindkey '>' end-of-buffer-or-history -bindkey '?' which-command -bindkey 'A' accept-and-hold -bindkey 'B' backward-word -bindkey 'C' capitalize-word -bindkey 'D' kill-word -bindkey 'F' forward-word -bindkey 'G' get-line -bindkey 'H' run-help -bindkey 'L' down-case-word -bindkey 'N' history-search-forward -bindkey 'OA' up-line-or-history -bindkey 'OB' down-line-or-history -bindkey 'OC' forward-char -bindkey 'OD' backward-char -bindkey 'P' history-search-backward -bindkey 'Q' push-line -bindkey 'S' spell-word -bindkey 'T' transpose-words -bindkey 'U' up-case-word -bindkey 'W' copy-region-as-kill -bindkey '[1~' beginning-of-line -bindkey '[2~' overwrite-mode -bindkey '[3~' delete-char -bindkey '[4~' end-of-line -bindkey '[5~' history-beginning-search-backward-end -bindkey '[6~' history-beginning-search-forward-end -bindkey '' up-line-or-history -bindkey '' down-line-or-history -bindkey '' forward-char -bindkey '' backward-char -bindkey '_' insert-last-word -bindkey 'a' accept-and-hold -bindkey 'b' backward-word -bindkey 'c' capitalize-word -bindkey 'd' kill-word -bindkey 'f' forward-word -bindkey 'g' get-line -bindkey 'h' run-help -bindkey 'l' down-case-word -bindkey 'n' history-search-forward -bindkey 'p' history-search-backward -bindkey 'q' push-line -bindkey 's' spell-word -bindkey 't' transpose-words -bindkey 'u' up-case-word -bindkey 'w' copy-region-as-kill -bindkey 'x' execute-named-cmd -bindkey 'y' yank-pop -bindkey 'z' execute-last-named-cmd -bindkey '|' vi-goto-column -bindkey '~' _bash_complete-word -bindkey '^?' backward-kill-word -bindkey '^\' up-history -bindkey '^\' down-history -bindkey '^\' forward-char -bindkey '^\' backward-char -bindkey '^_' undo -bindkey ' '-'~' self-insert -bindkey '' backward-delete-char -bindkey '\M-^@'-'\M-' self-insert - -# Raccourcis pour les todo : funny :) -# 'q' stands for 'push-line' -bindkey -s 't' 'Q todo\n' -#bindkey -s 'T' 'Q todo all -c\n' - -bindkey -s 'é' ' 2>/dev/null ' -bindkey -s '2' ' 2>&1 ' - -bindkey -s 'm' 'Q make\n' -bindkey -s 'M' 'Q make\n' - -bindkey -s 'l' 'Q l\n' -#bindkey -s 'L' 'Q la\n' - -bindkey -s ' ' '\\ ' - -bindkey -s 'g' 'Q git-status\n' -bindkey -s 'G' 'Q git-repack -d -a\n' - -bindkey -s 'S' 'Q sudo !!' - -bindkey -s 'X' 'Q exec zsh\n' - -# conflicts with "lowercase word" -#bindkey -s 'L' 'Q clear\n' -- cgit v1.2.3