Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

C-RET never works #448

Closed
travisdowns opened this issue May 20, 2024 · 6 comments
Closed

C-RET never works #448

travisdowns opened this issue May 20, 2024 · 6 comments
Labels
question Question / Mis-usage

Comments

@travisdowns
Copy link

travisdowns commented May 20, 2024

New ble.sh user so perhaps I'm just missing something, but when I get an autocomplete at the prompt, I understand that C-RET (control + enter) should select and execute auto-completion but it does not.

For example I type echo and wait a second and echo hi is offered as the auto-complete (see screenshot), if I hit then C-RET it executes only echo , same as if I simply hit RET. C-j does accept and execute the completion, however.

image

@travisdowns
Copy link
Author

travisdowns commented May 20, 2024

My ble-bind should be the default, I haven't changed anything but here it is for completeness:

`ble-bind -P` output
ble-bind --csi '1~' 'home'
ble-bind --csi '2~' 'insert'
ble-bind --csi '3~' 'delete'
ble-bind --csi '4~' 'end'
ble-bind --csi '5~' 'prior'
ble-bind --csi '6~' 'next'
ble-bind --csi '7~' 'home'
ble-bind --csi '8~' 'end'
ble-bind --csi '11~' 'f1'
ble-bind --csi '12~' 'f2'
ble-bind --csi '13~' 'f3'
ble-bind --csi '14~' 'f4'
ble-bind --csi '15~' 'f5'
ble-bind --csi '17~' 'f6'
ble-bind --csi '18~' 'f7'
ble-bind --csi '19~' 'f8'
ble-bind --csi '20~' 'f9'
ble-bind --csi '21~' 'f10'
ble-bind --csi '23~' 'f11'
ble-bind --csi '24~' 'f12'
ble-bind --csi '25~' 'f13'
ble-bind --csi '26~' 'f14'
ble-bind --csi '28~' 'f15'
ble-bind --csi '29~' 'f16'
ble-bind --csi '31~' 'f17'
ble-bind --csi '32~' 'f18'
ble-bind --csi '33~' 'f19'
ble-bind --csi '34~' 'f20'
ble-bind --csi '200~' 'paste_begin'
ble-bind --csi '201~' 'paste_end'
ble-bind --csi 'A' 'up'
ble-bind --csi 'B' 'down'
ble-bind --csi 'C' 'right'
ble-bind --csi 'D' 'left'
ble-bind --csi 'E' 'begin'
ble-bind --csi 'F' 'end'
ble-bind --csi 'H' 'home'
ble-bind --csi 'I' 'focus'
ble-bind --csi 'M' 'RET'
ble-bind --csi 'O' 'blur'
ble-bind --csi 'P' 'f1'
ble-bind --csi 'Q' 'f2'
ble-bind --csi 'R' 'f3'
ble-bind --csi 'S' 'f4'
ble-bind --csi 'X' '='
ble-bind --csi 'j' '*'
ble-bind --csi 'k' '+'
ble-bind --csi 'l' ','
ble-bind --csi 'm' '-'
ble-bind --csi 'n' '.'
ble-bind --csi 'o' '/'
ble-bind --csi 'p' '0'
ble-bind --csi 'q' '1'
ble-bind --csi 'r' '2'
ble-bind --csi 's' '3'
ble-bind --csi 't' '4'
ble-bind --csi 'u' '5'
ble-bind --csi 'v' '6'
ble-bind --csi 'w' '7'
ble-bind --csi 'x' '8'
ble-bind --csi 'y' '9'
ble-bind -k 'ESC ? SP' 'SP'
ble-bind -k 'ESC ? I' 'TAB'
ble-bind -k 'ESC ? M' 'RET'
ble-bind -k 'ESC ? X' '='
ble-bind -k 'ESC ? j' '*'
ble-bind -k 'ESC ? k' '+'
ble-bind -k 'ESC ? l' ','
ble-bind -k 'ESC ? n' '.'
ble-bind -k 'ESC ? o' '/'
ble-bind -k 'ESC ? p' '0'
ble-bind -k 'ESC ? q' '1'
ble-bind -k 'ESC ? r' '2'
ble-bind -k 'ESC ? s' '3'
ble-bind -k 'ESC ? t' '4'
ble-bind -k 'ESC ? u' '5'
ble-bind -k 'ESC ? v' '6'
ble-bind -k 'ESC ? w' '7'
ble-bind -k 'ESC ? x' '8'
ble-bind -k 'ESC ? y' '9'
ble-bind -k 'ESC O SP' 'SP'
ble-bind -k 'ESC O A' 'up'
ble-bind -k 'ESC O B' 'down'
ble-bind -k 'ESC O C' 'right'
ble-bind -k 'ESC O D' 'left'
ble-bind -k 'ESC O E' 'begin'
ble-bind -k 'ESC O F' 'end'
ble-bind -k 'ESC O H' 'home'
ble-bind -k 'ESC O I' 'TAB'
ble-bind -k 'ESC O M' 'RET'
ble-bind -k 'ESC O O' 'blur'
ble-bind -k 'ESC O P' 'f1'
ble-bind -k 'ESC O Q' 'f2'
ble-bind -k 'ESC O R' 'f3'
ble-bind -k 'ESC O S' 'f4'
ble-bind -k 'ESC O X' '='
ble-bind -k 'ESC O a' 'C-up'
ble-bind -k 'ESC O b' 'C-down'
ble-bind -k 'ESC O c' 'C-right'
ble-bind -k 'ESC O d' 'C-left'
ble-bind -k 'ESC O j' '*'
ble-bind -k 'ESC O k' '+'
ble-bind -k 'ESC O l' ','
ble-bind -k 'ESC O n' '.'
ble-bind -k 'ESC O o' '/'
ble-bind -k 'ESC O p' '0'
ble-bind -k 'ESC O q' '1'
ble-bind -k 'ESC O r' '2'
ble-bind -k 'ESC O s' '3'
ble-bind -k 'ESC O t' '4'
ble-bind -k 'ESC O u' '5'
ble-bind -k 'ESC O v' '6'
ble-bind -k 'ESC O w' '7'
ble-bind -k 'ESC O x' '8'
ble-bind -k 'ESC O y' '9'
ble-bind -k 'ESC [ 1 $' 'S-home'
ble-bind -k 'ESC [ 1 1 $' 'S-f1'
ble-bind -k 'ESC [ 1 2 $' 'S-f2'
ble-bind -k 'ESC [ 1 3 $' 'S-f3'
ble-bind -k 'ESC [ 1 4 $' 'S-f4'
ble-bind -k 'ESC [ 1 5 $' 'S-f5'
ble-bind -k 'ESC [ 1 7 $' 'S-f6'
ble-bind -k 'ESC [ 1 8 $' 'S-f7'
ble-bind -k 'ESC [ 1 9 $' 'S-f8'
ble-bind -k 'ESC [ 1 z' 'find'
ble-bind -k 'ESC [ 2 $' 'S-insert'
ble-bind -k 'ESC [ 2 0 $' 'S-f9'
ble-bind -k 'ESC [ 2 0 0 $' 'S-paste_begin'
ble-bind -k 'ESC [ 2 0 1 $' 'S-paste_end'
ble-bind -k 'ESC [ 2 1 $' 'S-f10'
ble-bind -k 'ESC [ 2 1 4 z' 'home'
ble-bind -k 'ESC [ 2 1 6 z' 'next'
ble-bind -k 'ESC [ 2 2 0 z' 'end'
ble-bind -k 'ESC [ 2 2 2 z' 'prior'
ble-bind -k 'ESC [ 2 2 4 z' 'f1'
ble-bind -k 'ESC [ 2 2 5 z' 'f2'
ble-bind -k 'ESC [ 2 2 6 z' 'f3'
ble-bind -k 'ESC [ 2 2 7 z' 'f4'
ble-bind -k 'ESC [ 2 2 8 z' 'f5'
ble-bind -k 'ESC [ 2 2 9 z' 'f6'
ble-bind -k 'ESC [ 2 3 $' 'S-f11'
ble-bind -k 'ESC [ 2 3 0 z' 'f7'
ble-bind -k 'ESC [ 2 3 1 z' 'f8'
ble-bind -k 'ESC [ 2 3 2 z' 'f9'
ble-bind -k 'ESC [ 2 3 3 z' 'f10'
ble-bind -k 'ESC [ 2 3 4 z' 'f11'
ble-bind -k 'ESC [ 2 3 5 z' 'f12'
ble-bind -k 'ESC [ 2 4 $' 'S-f12'
ble-bind -k 'ESC [ 2 4 7 z' 'insert'
ble-bind -k 'ESC [ 2 5 $' 'S-f13'
ble-bind -k 'ESC [ 2 6 $' 'S-f14'
ble-bind -k 'ESC [ 2 8 $' 'S-f15'
ble-bind -k 'ESC [ 2 9 $' 'S-f16'
ble-bind -k 'ESC [ 2 J' 'S-home'
ble-bind -k 'ESC [ 2 K' 'S-delete'
ble-bind -k 'ESC [ 3 $' 'S-delete'
ble-bind -k 'ESC [ 3 1 $' 'S-f17'
ble-bind -k 'ESC [ 3 2 $' 'S-f18'
ble-bind -k 'ESC [ 3 3 $' 'S-f19'
ble-bind -k 'ESC [ 3 4 $' 'S-f20'
ble-bind -k 'ESC [ 4 $' 'S-end'
ble-bind -k 'ESC [ 4 h' 'insert'
ble-bind -k 'ESC [ 4 l' 'S-insert'
ble-bind -k 'ESC [ 4 z' 'select'
ble-bind -k 'ESC [ 5 $' 'S-prior'
ble-bind -k 'ESC [ 6 $' 'S-next'
ble-bind -k 'ESC [ 7 $' 'S-home'
ble-bind -k 'ESC [ 8 $' 'S-end'
ble-bind -k 'ESC [ J' 'C-end'
ble-bind -k 'ESC [ K' 'S-end'
ble-bind -k 'ESC [ L' 'C-insert'
ble-bind -k 'ESC [ P' 'delete'
ble-bind -k 'ESC [ Z' 'S-TAB'
ble-bind -k 'ESC [ [ A' 'f1'
ble-bind -k 'ESC [ [ B' 'f2'
ble-bind -k 'ESC [ [ C' 'f3'
ble-bind -k 'ESC [ [ D' 'f4'
ble-bind -k 'ESC [ [ E' 'f5'
ble-bind -k 'ESC [ a' 'S-up'
ble-bind -k 'ESC [ b' 'S-down'
ble-bind -k 'ESC [ c' 'S-right'
ble-bind -k 'ESC [ d' 'S-left'
ble-bind -k 'SS3 SP' 'SP'
ble-bind -k 'SS3 A' 'up'
ble-bind -k 'SS3 B' 'down'
ble-bind -k 'SS3 C' 'right'
ble-bind -k 'SS3 D' 'left'
ble-bind -k 'SS3 E' 'begin'
ble-bind -k 'SS3 F' 'end'
ble-bind -k 'SS3 H' 'home'
ble-bind -k 'SS3 I' 'TAB'
ble-bind -k 'SS3 M' 'RET'
ble-bind -k 'SS3 O' 'blur'
ble-bind -k 'SS3 P' 'f1'
ble-bind -k 'SS3 Q' 'f2'
ble-bind -k 'SS3 R' 'f3'
ble-bind -k 'SS3 S' 'f4'
ble-bind -k 'SS3 X' '='
ble-bind -k 'SS3 a' 'C-up'
ble-bind -k 'SS3 b' 'C-down'
ble-bind -k 'SS3 c' 'C-right'
ble-bind -k 'SS3 d' 'C-left'
ble-bind -k 'SS3 j' '*'
ble-bind -k 'SS3 k' '+'
ble-bind -k 'SS3 l' ','
ble-bind -k 'SS3 n' '.'
ble-bind -k 'SS3 o' '/'
ble-bind -k 'SS3 p' '0'
ble-bind -k 'SS3 q' '1'
ble-bind -k 'SS3 r' '2'
ble-bind -k 'SS3 s' '3'
ble-bind -k 'SS3 t' '4'
ble-bind -k 'SS3 u' '5'
ble-bind -k 'SS3 v' '6'
ble-bind -k 'SS3 w' '7'
ble-bind -k 'SS3 x' '8'
ble-bind -k 'SS3 y' '9'
ble-bind -k 'CSI 1 z' 'find'
ble-bind -k 'CSI 2 $' 'S-insert'
ble-bind -k 'CSI 2 1 4 z' 'home'
ble-bind -k 'CSI 2 1 6 z' 'next'
ble-bind -k 'CSI 2 2 0 z' 'end'
ble-bind -k 'CSI 2 2 2 z' 'prior'
ble-bind -k 'CSI 2 2 4 z' 'f1'
ble-bind -k 'CSI 2 2 5 z' 'f2'
ble-bind -k 'CSI 2 2 6 z' 'f3'
ble-bind -k 'CSI 2 2 7 z' 'f4'
ble-bind -k 'CSI 2 2 8 z' 'f5'
ble-bind -k 'CSI 2 2 9 z' 'f6'
ble-bind -k 'CSI 2 3 $' 'S-f11'
ble-bind -k 'CSI 2 3 0 z' 'f7'
ble-bind -k 'CSI 2 3 1 z' 'f8'
ble-bind -k 'CSI 2 3 2 z' 'f9'
ble-bind -k 'CSI 2 3 3 z' 'f10'
ble-bind -k 'CSI 2 3 4 z' 'f11'
ble-bind -k 'CSI 2 3 5 z' 'f12'
ble-bind -k 'CSI 2 4 $' 'S-f12'
ble-bind -k 'CSI 2 4 7 z' 'insert'
ble-bind -k 'CSI 2 5 $' 'S-f13'
ble-bind -k 'CSI 2 6 $' 'S-f14'
ble-bind -k 'CSI 2 8 $' 'S-f15'
ble-bind -k 'CSI 2 9 $' 'S-f16'
ble-bind -k 'CSI 2 J' 'S-home'
ble-bind -k 'CSI 2 K' 'S-delete'
ble-bind -k 'CSI 3 $' 'S-delete'
ble-bind -k 'CSI 3 1 $' 'S-f17'
ble-bind -k 'CSI 3 2 $' 'S-f18'
ble-bind -k 'CSI 3 3 $' 'S-f19'
ble-bind -k 'CSI 3 4 $' 'S-f20'
ble-bind -k 'CSI 4 h' 'insert'
ble-bind -k 'CSI 4 l' 'S-insert'
ble-bind -k 'CSI 4 z' 'select'
ble-bind -k 'CSI 5 $' 'S-prior'
ble-bind -k 'CSI 6 $' 'S-next'
ble-bind -k 'CSI 7 $' 'S-home'
ble-bind -k 'CSI 8 $' 'S-end'
ble-bind -k 'CSI J' 'C-end'
ble-bind -k 'CSI K' 'S-end'
ble-bind -k 'CSI L' 'C-insert'
ble-bind -k 'CSI P' 'delete'
ble-bind -k 'CSI Z' 'S-TAB'
ble-bind -k 'CSI [ A' 'f1'
ble-bind -k 'CSI [ B' 'f2'
ble-bind -k 'CSI [ C' 'f3'
ble-bind -k 'CSI [ D' 'f4'
ble-bind -k 'CSI [ E' 'f5'
ble-bind -k 'CSI a' 'S-up'
ble-bind -k 'CSI b' 'S-down'
ble-bind -k 'CSI c' 'S-right'
ble-bind -k 'CSI d' 'S-left'
# keymap isearch
ble-bind -m 'isearch' -f 'BS' 'isearch/prev'
ble-bind -m 'isearch' -f 'RET' 'isearch/exit'
ble-bind -m 'isearch' -f 'DEL' 'isearch/prev'
ble-bind -m 'isearch' -f '__defchar__' 'isearch/self-insert'
ble-bind -m 'isearch' -f '__default__' 'isearch/exit-default'
ble-bind -m 'isearch' -f '__line_limit__' 'nop'
ble-bind -m 'isearch' -f 'C-RET' 'isearch/accept-line'
ble-bind -m 'isearch' -f 'C-?' 'isearch/prev'
ble-bind -m 'isearch' -f 'C-g' 'isearch/cancel'
ble-bind -m 'isearch' -f 'C-h' 'isearch/prev'
ble-bind -m 'isearch' -f 'C-j' 'isearch/accept-line'
ble-bind -m 'isearch' -f 'C-m' 'isearch/exit'
ble-bind -m 'isearch' -f 'C-r' 'isearch/backward'
ble-bind -m 'isearch' -f 'C-s' 'isearch/forward'
ble-bind -m 'isearch' -f 'C-x C-g' 'isearch/cancel'
ble-bind -m 'isearch' -f 'C-M-g' 'isearch/cancel'
# keymap nsearch
ble-bind -m 'nsearch' -f 'RET' 'nsearch/exit'
ble-bind -m 'nsearch' -f '__default__' 'nsearch/exit-default'
ble-bind -m 'nsearch' -f '__line_limit__' 'nop'
ble-bind -m 'nsearch' -f 'prior' 'nsearch/backward'
ble-bind -m 'nsearch' -f 'next' 'nsearch/forward'
ble-bind -m 'nsearch' -f 'up' 'nsearch/backward'
ble-bind -m 'nsearch' -f 'down' 'nsearch/forward'
ble-bind -m 'nsearch' -f 'C-RET' 'nsearch/accept-line'
ble-bind -m 'nsearch' -f 'C-g' 'nsearch/cancel'
ble-bind -m 'nsearch' -f 'C-j' 'nsearch/accept-line'
ble-bind -m 'nsearch' -f 'C-m' 'nsearch/exit'
ble-bind -m 'nsearch' -f 'C-n' 'nsearch/forward'
ble-bind -m 'nsearch' -f 'C-p' 'nsearch/backward'
ble-bind -m 'nsearch' -f 'C-r' 'nsearch/backward'
ble-bind -m 'nsearch' -f 'C-s' 'nsearch/forward'
ble-bind -m 'nsearch' -f 'C-x C-g' 'nsearch/cancel'
ble-bind -m 'nsearch' -f 'C-M-g' 'nsearch/cancel'
# keymap emacs
ble-bind -m 'emacs' -f 'NUL' 'set-mark'
ble-bind -m 'emacs' -f 'BS' 'delete-region-or delete-backward-char'
ble-bind -m 'emacs' -f 'TAB' 'complete'
ble-bind -m 'emacs' -f 'RET' 'accept-single-line-or-newline'
ble-bind -m 'emacs' -f 'SP' 'magic-space'
ble-bind -m 'emacs' -f '-' 'append-arg'
ble-bind -m 'emacs' -f '/' 'magic-slash'
ble-bind -m 'emacs' -f '0' 'append-arg'
ble-bind -m 'emacs' -f '1' 'append-arg'
ble-bind -m 'emacs' -f '2' 'append-arg'
ble-bind -m 'emacs' -f '3' 'append-arg'
ble-bind -m 'emacs' -f '4' 'append-arg'
ble-bind -m 'emacs' -f '5' 'append-arg'
ble-bind -m 'emacs' -f '6' 'append-arg'
ble-bind -m 'emacs' -f '7' 'append-arg'
ble-bind -m 'emacs' -f '8' 'append-arg'
ble-bind -m 'emacs' -f '9' 'append-arg'
ble-bind -m 'emacs' -f 'DEL' 'delete-region-or delete-backward-char'
ble-bind -m 'emacs' -f '__batch_char__' 'batch-insert'
ble-bind -m 'emacs' -f '__defchar__' 'self-insert'
ble-bind -m 'emacs' -f '__before_widget__' 'emacs/__before_widget__'
ble-bind -m 'emacs' -f '__after_widget__' 'emacs/__after_widget__'
ble-bind -m 'emacs' -f '__attach__' 'safe/__attach__'
ble-bind -m 'emacs' -f '__line_limit__' '__line_limit__'
ble-bind -m 'emacs' -f 'auto_complete_enter' 'auto-complete-enter'
ble-bind -m 'emacs' -f 'insert' 'quoted-insert'
ble-bind -m 'emacs' -f 'home' 'beginning-of-line'
ble-bind -m 'emacs' -f 'prior' 'history-search-backward'
ble-bind -m 'emacs' -f 'delete' 'delete-region-or delete-forward-char'
ble-bind -m 'emacs' -f 'end' 'end-of-line'
ble-bind -m 'emacs' -f 'next' 'history-search-forward'
ble-bind -m 'emacs' -f 'f1' 'command-help'
ble-bind -m 'emacs' -f 'paste_begin' 'emacs/bracketed-paste'
ble-bind -m 'emacs' -f 'up' 'backward-line history'
ble-bind -m 'emacs' -f 'down' 'forward-line history'
ble-bind -m 'emacs' -f 'right' 'forward-char'
ble-bind -m 'emacs' -f 'left' 'backward-char'
ble-bind -m 'emacs' -f 'S-TAB' 'menu-complete backward'
ble-bind -m 'emacs' -f 'S-insert' 'yank'
ble-bind -m 'emacs' -f 'S-home' '@marked beginning-of-line'
ble-bind -m 'emacs' -f 'S-delete' 'kill-region-or kill-backward-uword'
ble-bind -m 'emacs' -f 'S-end' '@marked end-of-line'
ble-bind -m 'emacs' -f 'S-up' '@marked backward-line'
ble-bind -m 'emacs' -f 'S-down' '@marked forward-line'
ble-bind -m 'emacs' -f 'S-right' '@marked forward-char'
ble-bind -m 'emacs' -f 'S-left' '@marked backward-char'
ble-bind -m 'emacs' -f 'C-BS' 'emacs/undo'
ble-bind -m 'emacs' -f 'C-TAB' 'menu-complete'
ble-bind -m 'emacs' -f 'C-RET' 'accept-line'
ble-bind -m 'emacs' -f 'C-SP' 'set-mark'
ble-bind -m 'emacs' -f 'C--' 'append-arg'
ble-bind -m 'emacs' -f 'C-/' 'emacs/undo'
ble-bind -m 'emacs' -f 'C-0' 'append-arg'
ble-bind -m 'emacs' -f 'C-1' 'append-arg'
ble-bind -m 'emacs' -f 'C-2' 'append-arg'
ble-bind -m 'emacs' -f 'C-3' 'append-arg'
ble-bind -m 'emacs' -f 'C-4' 'append-arg'
ble-bind -m 'emacs' -f 'C-5' 'append-arg'
ble-bind -m 'emacs' -f 'C-6' 'append-arg'
ble-bind -m 'emacs' -f 'C-7' 'append-arg'
ble-bind -m 'emacs' -f 'C-8' 'append-arg'
ble-bind -m 'emacs' -f 'C-9' 'append-arg'
ble-bind -m 'emacs' -f 'C-?' 'delete-region-or delete-backward-char'
ble-bind -m 'emacs' -f 'C-@' 'set-mark'
ble-bind -m 'emacs' -f 'C-\' 'bell'
ble-bind -m 'emacs' -f 'C-]' 'character-search-forward'
ble-bind -m 'emacs' -f 'C-^' 'bell'
ble-bind -m 'emacs' -f 'C-_' 'emacs/undo'
ble-bind -m 'emacs' -f 'C-a' 'beginning-of-line'
ble-bind -m 'emacs' -f 'C-b' 'backward-char'
ble-bind -m 'emacs' -f 'C-c' 'discard-line'
ble-bind -m 'emacs' -f 'C-d' 'delete-region-or delete-forward-char-or-exit'
ble-bind -m 'emacs' -f 'C-e' 'end-of-line'
ble-bind -m 'emacs' -f 'C-f' 'forward-char'
ble-bind -m 'emacs' -f 'C-g' 'bell'
ble-bind -m 'emacs' -f 'C-h' 'delete-region-or delete-backward-char'
ble-bind -m 'emacs' -f 'C-i' 'complete'
ble-bind -m 'emacs' -f 'C-j' 'accept-line'
ble-bind -m 'emacs' -f 'C-k' 'kill-forward-line'
ble-bind -m 'emacs' -f 'C-l' 'clear-screen'
ble-bind -m 'emacs' -f 'C-m' 'accept-single-line-or-newline'
ble-bind -m 'emacs' -f 'C-n' 'forward-line history'
ble-bind -m 'emacs' -f 'C-o' 'accept-and-next'
ble-bind -m 'emacs' -f 'C-p' 'backward-line history'
ble-bind -m 'emacs' -f 'C-q' 'emacs/quoted-insert'
ble-bind -m 'emacs' -x 'C-r' '__atuin_history --keymap-mode=emacs'
ble-bind -m 'emacs' -f 'C-s' 'history-isearch-forward'
ble-bind -m 'emacs' -x 'C-t' 'fzf-file-widget'
ble-bind -m 'emacs' -f 'C-u' 'kill-backward-line'
ble-bind -m 'emacs' -f 'C-v' 'emacs/quoted-insert'
ble-bind -m 'emacs' -f 'C-w' 'kill-region-or kill-backward-uword'
ble-bind -m 'emacs' -f 'C-x !' 'complete show_menu:context=command'
ble-bind -m 'emacs' -f 'C-x $' 'complete show_menu:context=variable'
ble-bind -m 'emacs' -f 'C-x '\''' 'sabbrev-expand'
ble-bind -m 'emacs' -f 'C-x (' 'start-keyboard-macro'
ble-bind -m 'emacs' -f 'C-x )' 'end-keyboard-macro'
ble-bind -m 'emacs' -f 'C-x *' 'complete insert_all:context=glob'
ble-bind -m 'emacs' -f 'C-x ,' 'history-nsearch-backward-again'
ble-bind -m 'emacs' -f 'C-x .' 'history-nsearch-forward-again'
ble-bind -m 'emacs' -f 'C-x /' 'complete show_menu:context=filename'
ble-bind -m 'emacs' -f 'C-x <' 'history-nsearch-backward'
ble-bind -m 'emacs' -f 'C-x >' 'history-nsearch-forward'
ble-bind -m 'emacs' -f 'C-x @' 'complete show_menu:context=hostname'
ble-bind -m 'emacs' -f 'C-x P' 'print-keyboard-macro'
ble-bind -m 'emacs' -f 'C-x U' 'emacs/redo'
ble-bind -m 'emacs' -f 'C-x e' 'call-keyboard-macro'
ble-bind -m 'emacs' -f 'C-x g' 'complete show_menu:context=glob'
ble-bind -m 'emacs' -f 'C-x n' 'history-substring-search-forward'
ble-bind -m 'emacs' -f 'C-x p' 'history-substring-search-backward'
ble-bind -m 'emacs' -f 'C-x u' 'emacs/undo'
ble-bind -m 'emacs' -f 'C-x ~' 'complete show_menu:context=username'
ble-bind -m 'emacs' -f 'C-x up' 'history-search-backward'
ble-bind -m 'emacs' -f 'C-x down' 'history-search-forward'
ble-bind -m 'emacs' -f 'C-x C-e' 'edit-and-execute-command'
ble-bind -m 'emacs' -f 'C-x C-g' 'bell'
ble-bind -m 'emacs' -f 'C-x C-n' 'history-search-forward'
ble-bind -m 'emacs' -f 'C-x C-p' 'history-search-backward'
ble-bind -m 'emacs' -f 'C-x C-r' 'dabbrev-expand'
ble-bind -m 'emacs' -f 'C-x C-u' 'emacs/undo'
ble-bind -m 'emacs' -f 'C-x C-v' 'display-shell-version'
ble-bind -m 'emacs' -f 'C-x C-x' 'exchange-point-and-mark'
ble-bind -m 'emacs' -f 'C-x C-S-u' 'emacs/redo'
ble-bind -m 'emacs' -f 'C-y' 'yank'
ble-bind -m 'emacs' -f 'C-z' 'vi-editing-mode'
ble-bind -m 'emacs' -f 'C-DEL' 'emacs/undo'
ble-bind -m 'emacs' -f 'C-insert' 'copy-region-or copy-backward-uword'
ble-bind -m 'emacs' -f 'C-home' 'beginning-of-text'
ble-bind -m 'emacs' -f 'C-prior' 'history-beginning'
ble-bind -m 'emacs' -f 'C-delete' 'delete-forward-cword'
ble-bind -m 'emacs' -f 'C-end' 'end-of-text'
ble-bind -m 'emacs' -f 'C-next' 'history-end'
ble-bind -m 'emacs' -f 'C-right' 'forward-cword'
ble-bind -m 'emacs' -f 'C-left' 'backward-cword'
ble-bind -m 'emacs' -f 'C-S-a' '@marked beginning-of-line'
ble-bind -m 'emacs' -f 'C-S-b' '@marked backward-char'
ble-bind -m 'emacs' -f 'C-S-e' '@marked end-of-line'
ble-bind -m 'emacs' -f 'C-S-f' '@marked forward-char'
ble-bind -m 'emacs' -f 'C-S-i' 'menu-complete backward'
ble-bind -m 'emacs' -f 'C-S-n' '@marked forward-line'
ble-bind -m 'emacs' -f 'C-S-p' '@marked backward-line'
ble-bind -m 'emacs' -f 'C-S-home' '@marked beginning-of-text'
ble-bind -m 'emacs' -f 'C-S-end' '@marked end-of-text'
ble-bind -m 'emacs' -f 'C-S-right' '@marked forward-cword'
ble-bind -m 'emacs' -f 'C-S-left' '@marked backward-cword'
ble-bind -m 'emacs' -f 'M-BS' 'copy-backward-sword'
ble-bind -m 'emacs' -f 'M-TAB' 'complete context=dynamic-history'
ble-bind -m 'emacs' -f 'M-RET' 'newline'
ble-bind -m 'emacs' -f 'M-SP' 'set-mark'
ble-bind -m 'emacs' -f 'M-!' 'complete context=command'
ble-bind -m 'emacs' -f 'M-#' 'insert-comment'
ble-bind -m 'emacs' -f 'M-$' 'complete context=variable'
ble-bind -m 'emacs' -f 'M-&' 'tilde-expand'
ble-bind -m 'emacs' -f 'M-'\''' 'sabbrev-expand'
ble-bind -m 'emacs' -f 'M-*' 'complete insert_all'
ble-bind -m 'emacs' -f 'M--' 'append-arg'
ble-bind -m 'emacs' -f 'M-.' 'insert-last-argument'
ble-bind -m 'emacs' -f 'M-/' 'complete context=filename'
ble-bind -m 'emacs' -f 'M-0' 'append-arg'
ble-bind -m 'emacs' -f 'M-1' 'append-arg'
ble-bind -m 'emacs' -f 'M-2' 'append-arg'
ble-bind -m 'emacs' -f 'M-3' 'append-arg'
ble-bind -m 'emacs' -f 'M-4' 'append-arg'
ble-bind -m 'emacs' -f 'M-5' 'append-arg'
ble-bind -m 'emacs' -f 'M-6' 'append-arg'
ble-bind -m 'emacs' -f 'M-7' 'append-arg'
ble-bind -m 'emacs' -f 'M-8' 'append-arg'
ble-bind -m 'emacs' -f 'M-9' 'append-arg'
ble-bind -m 'emacs' -f 'M-<' 'history-beginning'
ble-bind -m 'emacs' -f 'M->' 'history-end'
ble-bind -m 'emacs' -f 'M-?' 'complete show_menu'
ble-bind -m 'emacs' -f 'M-@' 'complete context=hostname'
ble-bind -m 'emacs' -f 'M-B' '@marked backward-cword'
ble-bind -m 'emacs' -f 'M-F' '@marked forward-cword'
ble-bind -m 'emacs' -f 'M-M' '@marked non-space-beginning-of-line'
ble-bind -m 'emacs' -f 'M-Y' 'yank-pop backward'
ble-bind -m 'emacs' -f 'M-[ 5 C' 'forward-cword'
ble-bind -m 'emacs' -f 'M-[ 5 D' 'backward-cword'
ble-bind -m 'emacs' -f 'M-\' 'delete-horizontal-space'
ble-bind -m 'emacs' -f 'M-^' 'history-expand-line'
ble-bind -m 'emacs' -f 'M-_' 'insert-last-argument'
ble-bind -m 'emacs' -f 'M-b' 'backward-cword'
ble-bind -m 'emacs' -s 'M-c' ' \C-b\v \C-u`__fzf_cd__`\e\C-e\er\r\C-y\b\e \C-y\ey\C-x\C-x\C-d'
ble-bind -m 'emacs' -f 'M-d' 'kill-forward-cword'
ble-bind -m 'emacs' -f 'M-f' 'forward-cword'
ble-bind -m 'emacs' -f 'M-g' 'complete context=glob'
ble-bind -m 'emacs' -f 'M-h' 'kill-backward-cword'
ble-bind -m 'emacs' -f 'M-l' 'downcase-eword'
ble-bind -m 'emacs' -f 'M-m' 'non-space-beginning-of-line'
ble-bind -m 'emacs' -f 'M-r' 'redraw-line'
ble-bind -m 'emacs' -f 'M-t' 'transpose-ewords'
ble-bind -m 'emacs' -f 'M-u' 'upcase-eword'
ble-bind -m 'emacs' -f 'M-w' 'copy-region-or copy-backward-uword'
ble-bind -m 'emacs' -f 'M-x' 'emacs/execute-named-command'
ble-bind -m 'emacs' -f 'M-y' 'yank-pop'
ble-bind -m 'emacs' -f 'M-z' 'zap-to-char'
ble-bind -m 'emacs' -f 'M-{' 'complete insert_braces'
ble-bind -m 'emacs' -f 'M-~' 'complete context=username'
ble-bind -m 'emacs' -f 'M-DEL' 'copy-backward-sword'
ble-bind -m 'emacs' -f 'M-delete' 'copy-forward-sword'
ble-bind -m 'emacs' -f 'M-right' 'forward-cword'
ble-bind -m 'emacs' -f 'M-left' 'backward-cword'
ble-bind -m 'emacs' -f 'M-S-b' '@marked backward-cword'
ble-bind -m 'emacs' -f 'M-S-f' '@marked forward-cword'
ble-bind -m 'emacs' -f 'M-S-m' '@marked non-space-beginning-of-line'
ble-bind -m 'emacs' -f 'M-S-y' 'yank-pop backward'
ble-bind -m 'emacs' -f 'M-S-right' '@marked forward-sword'
ble-bind -m 'emacs' -f 'M-S-left' '@marked backward-sword'
ble-bind -m 'emacs' -f 'C-M-?' 'copy-backward-sword'
ble-bind -m 'emacs' -f 'C-M-]' 'character-search-backward'
ble-bind -m 'emacs' -f 'C-M-e' 'shell-expand-line'
ble-bind -m 'emacs' -f 'C-M-g' 'bell'
ble-bind -m 'emacs' -f 'C-M-h' 'copy-backward-sword'
ble-bind -m 'emacs' -f 'C-M-i' 'complete context=dynamic-history'
ble-bind -m 'emacs' -f 'C-M-l' 'redraw-line'
ble-bind -m 'emacs' -f 'C-M-m' 'newline'
ble-bind -m 'emacs' -f 'C-M-u' 'universal-arg'
ble-bind -m 'emacs' -f 'C-M-y' 'insert-nth-argument'
# keymap auto_complete
ble-bind -m 'auto_complete' -f '__defchar__' 'auto_complete/self-insert'
ble-bind -m 'auto_complete' -f '__default__' 'auto_complete/cancel-default'
ble-bind -m 'auto_complete' -f '__line_limit__' 'nop'
ble-bind -m 'auto_complete' -f 'auto_complete_enter' 'auto_complete/notify-enter'
ble-bind -m 'auto_complete' -f 'end' 'auto_complete/insert-on-end'
ble-bind -m 'auto_complete' -f 'right' 'auto_complete/insert-on-end'
ble-bind -m 'auto_complete' -f 'S-RET' 'auto_complete/insert'
ble-bind -m 'auto_complete' -f 'C-RET' 'auto_complete/accept-line'
ble-bind -m 'auto_complete' -f 'C-e' 'auto_complete/insert-on-end'
ble-bind -m 'auto_complete' -f 'C-f' 'auto_complete/insert-on-end'
ble-bind -m 'auto_complete' -f 'C-g' 'auto_complete/cancel'
ble-bind -m 'auto_complete' -f 'C-j' 'auto_complete/accept-line'
ble-bind -m 'auto_complete' -f 'C-x C-g' 'auto_complete/cancel'
ble-bind -m 'auto_complete' -f 'C-right' 'auto_complete/insert-cword'
ble-bind -m 'auto_complete' -f 'C-S-m' 'auto_complete/insert'
ble-bind -m 'auto_complete' -f 'M-f' 'auto_complete/insert-cword'
ble-bind -m 'auto_complete' -f 'M-right' 'auto_complete/insert-word'
ble-bind -m 'auto_complete' -f 'C-M-g' 'auto_complete/cancel'
# keymap menu_complete
ble-bind -m 'menu_complete' -f 'TAB' 'menu/forward cyclic'
ble-bind -m 'menu_complete' -f 'RET' 'menu_complete/accept'
ble-bind -m 'menu_complete' -f '0' 'menu/append-arg'
ble-bind -m 'menu_complete' -f '1' 'menu/append-arg'
ble-bind -m 'menu_complete' -f '2' 'menu/append-arg'
ble-bind -m 'menu_complete' -f '3' 'menu/append-arg'
ble-bind -m 'menu_complete' -f '4' 'menu/append-arg'
ble-bind -m 'menu_complete' -f '5' 'menu/append-arg'
ble-bind -m 'menu_complete' -f '6' 'menu/append-arg'
ble-bind -m 'menu_complete' -f '7' 'menu/append-arg'
ble-bind -m 'menu_complete' -f '8' 'menu/append-arg'
ble-bind -m 'menu_complete' -f '9' 'menu/append-arg'
ble-bind -m 'menu_complete' -f '__default__' 'menu_complete/exit-default'
ble-bind -m 'menu_complete' -f '__line_limit__' 'nop'
ble-bind -m 'menu_complete' -f 'home' 'menu/beginning-of-page'
ble-bind -m 'menu_complete' -f 'prior' 'menu/backward-page'
ble-bind -m 'menu_complete' -f 'end' 'menu/end-of-page'
ble-bind -m 'menu_complete' -f 'next' 'menu/forward-page'
ble-bind -m 'menu_complete' -f 'up' 'menu/backward-line'
ble-bind -m 'menu_complete' -f 'down' 'menu/forward-line'
ble-bind -m 'menu_complete' -f 'right' 'menu/forward-column'
ble-bind -m 'menu_complete' -f 'left' 'menu/backward-column'
ble-bind -m 'menu_complete' -f 'S-TAB' 'menu/backward cyclic'
ble-bind -m 'menu_complete' -f 'C-0' 'menu/append-arg'
ble-bind -m 'menu_complete' -f 'C-1' 'menu/append-arg'
ble-bind -m 'menu_complete' -f 'C-2' 'menu/append-arg'
ble-bind -m 'menu_complete' -f 'C-3' 'menu/append-arg'
ble-bind -m 'menu_complete' -f 'C-4' 'menu/append-arg'
ble-bind -m 'menu_complete' -f 'C-5' 'menu/append-arg'
ble-bind -m 'menu_complete' -f 'C-6' 'menu/append-arg'
ble-bind -m 'menu_complete' -f 'C-7' 'menu/append-arg'
ble-bind -m 'menu_complete' -f 'C-8' 'menu/append-arg'
ble-bind -m 'menu_complete' -f 'C-9' 'menu/append-arg'
ble-bind -m 'menu_complete' -f 'C-b' 'menu/backward-column'
ble-bind -m 'menu_complete' -f 'C-f' 'menu/forward-column'
ble-bind -m 'menu_complete' -f 'C-g' 'menu_complete/cancel'
ble-bind -m 'menu_complete' -f 'C-i' 'menu/forward cyclic'
ble-bind -m 'menu_complete' -f 'C-m' 'menu_complete/accept'
ble-bind -m 'menu_complete' -f 'C-n' 'menu/forward-line'
ble-bind -m 'menu_complete' -f 'C-p' 'menu/backward-line'
ble-bind -m 'menu_complete' -f 'C-x SP' 'menu_complete/toggle-hidden'
ble-bind -m 'menu_complete' -f 'C-x a' 'menu_complete/switch-style align-nowrap'
ble-bind -m 'menu_complete' -f 'C-x c' 'menu_complete/switch-style dense-nowrap'
ble-bind -m 'menu_complete' -f 'C-x d' 'menu_complete/switch-style desc'
ble-bind -m 'menu_complete' -f 'C-x l' 'menu_complete/switch-style linewise'
ble-bind -m 'menu_complete' -f 'C-x right' 'menu_complete/switch-style +'
ble-bind -m 'menu_complete' -f 'C-x left' 'menu_complete/switch-style -'
ble-bind -m 'menu_complete' -f 'C-x C-g' 'menu_complete/cancel'
ble-bind -m 'menu_complete' -f 'C-x C-n' 'menu_complete/switch-style +'
ble-bind -m 'menu_complete' -f 'C-x C-p' 'menu_complete/switch-style -'
ble-bind -m 'menu_complete' -f 'C-S-i' 'menu/backward cyclic'
ble-bind -m 'menu_complete' -f 'M-0' 'menu/append-arg'
ble-bind -m 'menu_complete' -f 'M-1' 'menu/append-arg'
ble-bind -m 'menu_complete' -f 'M-2' 'menu/append-arg'
ble-bind -m 'menu_complete' -f 'M-3' 'menu/append-arg'
ble-bind -m 'menu_complete' -f 'M-4' 'menu/append-arg'
ble-bind -m 'menu_complete' -f 'M-5' 'menu/append-arg'
ble-bind -m 'menu_complete' -f 'M-6' 'menu/append-arg'
ble-bind -m 'menu_complete' -f 'M-7' 'menu/append-arg'
ble-bind -m 'menu_complete' -f 'M-8' 'menu/append-arg'
ble-bind -m 'menu_complete' -f 'M-9' 'menu/append-arg'
ble-bind -m 'menu_complete' -f 'C-M-g' 'menu_complete/cancel'

@akinomyoga
Copy link
Owner

As noted in README 3.3, C-RET can be used only when your terminal supports it or allows configuring it. What is your terminal?

@travisdowns
Copy link
Author

travisdowns commented May 22, 2024

Thanks @akinomyoga for the quick reply. I'm using gnome-terminal. I had read 3.3 and also 3.6.4 where it points but the implication wasn't clear to me. I didn't understand until just now that modifyOtherKeys was a terminal feature (I thought it was a ble.sh setting).

So as I understand it: my terminal does not support modifyOtherKeys-like behavior, so RET is transmitted as C-m and C-RET cannot even be detected as distinct since it is also transmitted as C-m?

To make the latter determination I used showkey -a at the terminal I and pushed in sequence RET, left_ctrl+RET and right_ctrl+RET and they all show as simply C-m:

$ sudo showkey -a

Press any keys - Ctrl-D will terminate this program

^M 	 13 0015 0x0d
^M 	 13 0015 0x0d
^M 	 13 0015 0x0d

So then my best option is to rely on C-j I think.

@akinomyoga akinomyoga added the question Question / Mis-usage label May 28, 2024
@akinomyoga
Copy link
Owner

akinomyoga commented May 28, 2024

I was trying to check whether there is a way to configure the key sequence for each key combination, but GNOME Terminal (whose core is called VTE) intensionally doesn't seem to implement the configuring. I found a comment by the VTE developer in microsoft/terminal#2005 (comment). In addition, the developer tells on the same thread that they don't want to implement modifyOtherKeys either because they think modifyOtherKeys is inconsistent.

@akinomyoga
Copy link
Owner

So then my best option is to rely on C-j I think.

So yes, I think so, unfortunately.

@travisdowns
Copy link
Author

No worries and much thanks for the follow up!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Question / Mis-usage
Projects
None yet
Development

No branches or pull requests

2 participants