mirror of
https://github.com/Llewellynvdm/fzf.git
synced 2024-11-28 15:56:27 +00:00
Bind CTRL-/ and ALT-/ to toggle-wrap by default
This commit is contained in:
parent
8ff4e52641
commit
3b2e932c13
14
CHANGELOG.md
14
CHANGELOG.md
@ -7,12 +7,14 @@ CHANGELOG
|
|||||||
- `--wrap` option enables line wrap
|
- `--wrap` option enables line wrap
|
||||||
- `--wrap-sign` customizes the sign for wrapped lines (default: `↳ `)
|
- `--wrap-sign` customizes the sign for wrapped lines (default: `↳ `)
|
||||||
- `toggle-wrap` action toggles line wrap
|
- `toggle-wrap` action toggles line wrap
|
||||||
```sh
|
```sh
|
||||||
history | fzf --tac --wrap --bind 'ctrl-/:toggle-wrap'
|
history | fzf --tac --wrap --bind 'ctrl-/:toggle-wrap' --wrap-sign $'\t↳ '
|
||||||
|
```
|
||||||
# You can press CTRL-/ to toggle line wrap in CTRL-R binding
|
- fzf by default binds `CTRL-/` and `ALT-/` to `toggle-wrap`
|
||||||
export FZF_CTRL_R_OPTS=$'--bind ctrl-/:toggle-wrap --wrap-sign "\t↳ "'
|
- Updated shell integration scripts to leverage line wrap
|
||||||
```
|
- CTRL-R binding includes `--wrap-sign $'\t↳ '` to indent wrapped lines
|
||||||
|
- `kill **` completion uses `--wrap` to show the whole line by default
|
||||||
|
instead of showing it in the preview window
|
||||||
- Added `--info-command` option for customizing the info line
|
- Added `--info-command` option for customizing the info line
|
||||||
```sh
|
```sh
|
||||||
# Prepend the current cursor position in yellow
|
# Prepend the current cursor position in yellow
|
||||||
|
@ -464,13 +464,11 @@ the following key bindings in bash, zsh, and fish.
|
|||||||
- `CTRL-R` - Paste the selected command from history onto the command-line
|
- `CTRL-R` - Paste the selected command from history onto the command-line
|
||||||
- If you want to see the commands in chronological order, press `CTRL-R`
|
- If you want to see the commands in chronological order, press `CTRL-R`
|
||||||
again which toggles sorting by relevance
|
again which toggles sorting by relevance
|
||||||
|
- Press `CTRL-/` or `ALT-/` to toggle line wrapping
|
||||||
- Set `FZF_CTRL_R_OPTS` to pass additional options to fzf
|
- Set `FZF_CTRL_R_OPTS` to pass additional options to fzf
|
||||||
```sh
|
```sh
|
||||||
# CTRL-/ to toggle small preview window to see the full command
|
|
||||||
# CTRL-Y to copy the command into clipboard using pbcopy
|
# CTRL-Y to copy the command into clipboard using pbcopy
|
||||||
export FZF_CTRL_R_OPTS="
|
export FZF_CTRL_R_OPTS="
|
||||||
--preview 'echo {}' --preview-window up:3:hidden:wrap
|
|
||||||
--bind 'ctrl-/:toggle-preview'
|
|
||||||
--bind 'ctrl-y:execute-silent(echo -n {2..} | pbcopy)+abort'
|
--bind 'ctrl-y:execute-silent(echo -n {2..} | pbcopy)+abort'
|
||||||
--color header:italic
|
--color header:italic
|
||||||
--header 'Press CTRL-Y to copy command into clipboard'"
|
--header 'Press CTRL-Y to copy command into clipboard'"
|
||||||
|
@ -1497,7 +1497,7 @@ A key or an event can be bound to one or more of the following actions.
|
|||||||
\fBtoggle\-sort\fR
|
\fBtoggle\-sort\fR
|
||||||
\fBtoggle\-track\fR (toggle global tracking option (\fB\-\-track\fR))
|
\fBtoggle\-track\fR (toggle global tracking option (\fB\-\-track\fR))
|
||||||
\fBtoggle\-track\-current\fR (toggle tracking of the current item)
|
\fBtoggle\-track\-current\fR (toggle tracking of the current item)
|
||||||
\fBtoggle\-wrap\fR
|
\fBtoggle\-wrap\fR \fIctrl\-/\fR \fIalt\-/\fR
|
||||||
\fBtoggle+up\fR \fIbtab (shift\-tab)\fR
|
\fBtoggle+up\fR \fIbtab (shift\-tab)\fR
|
||||||
\fBtrack\-current\fR (track the current item; automatically disabled if focus changes)
|
\fBtrack\-current\fR (track the current item; automatically disabled if focus changes)
|
||||||
\fBtransform(...)\fR (transform states using the output of an external command)
|
\fBtransform(...)\fR (transform states using the output of an external command)
|
||||||
|
@ -62,7 +62,7 @@ if command -v perl > /dev/null; then
|
|||||||
set +o pipefail
|
set +o pipefail
|
||||||
builtin fc -lnr -2147483648 |
|
builtin fc -lnr -2147483648 |
|
||||||
last_hist=$(HISTTIMEFORMAT='' builtin history 1) command perl -n -l0 -e "$script" |
|
last_hist=$(HISTTIMEFORMAT='' builtin history 1) command perl -n -l0 -e "$script" |
|
||||||
FZF_DEFAULT_OPTS=$(__fzf_defaults "" "-n2..,.. --scheme=history --bind=ctrl-r:toggle-sort --highlight-line ${FZF_CTRL_R_OPTS-} +m --read0") \
|
FZF_DEFAULT_OPTS=$(__fzf_defaults "" "-n2..,.. --scheme=history --bind=ctrl-r:toggle-sort --wrap-sign '"$'\t'"↳ ' --highlight-line ${FZF_CTRL_R_OPTS-} +m --read0") \
|
||||||
FZF_DEFAULT_OPTS_FILE='' $(__fzfcmd) --query "$READLINE_LINE"
|
FZF_DEFAULT_OPTS_FILE='' $(__fzfcmd) --query "$READLINE_LINE"
|
||||||
) || return
|
) || return
|
||||||
READLINE_LINE=$(command perl -pe 's/^\d*\t//' <<< "$output")
|
READLINE_LINE=$(command perl -pe 's/^\d*\t//' <<< "$output")
|
||||||
@ -91,7 +91,7 @@ else # awk - fallback for POSIX systems
|
|||||||
set +o pipefail
|
set +o pipefail
|
||||||
builtin fc -lnr -2147483648 2> /dev/null | # ( $'\t '<lines>$'\n' )* ; <lines> ::= [^\n]* ( $'\n'<lines> )*
|
builtin fc -lnr -2147483648 2> /dev/null | # ( $'\t '<lines>$'\n' )* ; <lines> ::= [^\n]* ( $'\n'<lines> )*
|
||||||
command $__fzf_awk "$script" | # ( <counter>$'\t'<lines>$'\000' )*
|
command $__fzf_awk "$script" | # ( <counter>$'\t'<lines>$'\000' )*
|
||||||
FZF_DEFAULT_OPTS=$(__fzf_defaults "" "-n2..,.. --scheme=history --bind=ctrl-r:toggle-sort --highlight-line ${FZF_CTRL_R_OPTS-} +m --read0") \
|
FZF_DEFAULT_OPTS=$(__fzf_defaults "" "-n2..,.. --scheme=history --bind=ctrl-r:toggle-sort --wrap-sign '"$'\t'"↳ ' --highlight-line ${FZF_CTRL_R_OPTS-} +m --read0") \
|
||||||
FZF_DEFAULT_OPTS_FILE='' $(__fzfcmd) --query "$READLINE_LINE"
|
FZF_DEFAULT_OPTS_FILE='' $(__fzfcmd) --query "$READLINE_LINE"
|
||||||
) || return
|
) || return
|
||||||
READLINE_LINE=${output#*$'\t'}
|
READLINE_LINE=${output#*$'\t'}
|
||||||
|
@ -72,12 +72,12 @@ function fzf_key_bindings
|
|||||||
# before 2.4.0.
|
# before 2.4.0.
|
||||||
if [ "$FISH_MAJOR" -gt 2 -o \( "$FISH_MAJOR" -eq 2 -a "$FISH_MINOR" -ge 4 \) ];
|
if [ "$FISH_MAJOR" -gt 2 -o \( "$FISH_MAJOR" -eq 2 -a "$FISH_MINOR" -ge 4 \) ];
|
||||||
if type -P perl > /dev/null 2>&1
|
if type -P perl > /dev/null 2>&1
|
||||||
set -lx FZF_DEFAULT_OPTS (__fzf_defaults "" "-n2..,.. --scheme=history --bind=ctrl-r:toggle-sort --highlight-line $FZF_CTRL_R_OPTS +m")
|
set -lx FZF_DEFAULT_OPTS (__fzf_defaults "" "-n2..,.. --scheme=history --bind=ctrl-r:toggle-sort --wrap-sign '"\t"↳ ' --highlight-line $FZF_CTRL_R_OPTS +m")
|
||||||
set -lx FZF_DEFAULT_OPTS_FILE ''
|
set -lx FZF_DEFAULT_OPTS_FILE ''
|
||||||
builtin history -z --reverse | command perl -0 -pe 's/^/$.\t/g; s/\n/\n\t/gm' | eval (__fzfcmd) --tac --read0 --print0 -q '(commandline)' | command perl -pe 's/^\d*\t//' | read -lz result
|
builtin history -z --reverse | command perl -0 -pe 's/^/$.\t/g; s/\n/\n\t/gm' | eval (__fzfcmd) --tac --read0 --print0 -q '(commandline)' | command perl -pe 's/^\d*\t//' | read -lz result
|
||||||
and commandline -- $result
|
and commandline -- $result
|
||||||
else
|
else
|
||||||
set -lx FZF_DEFAULT_OPTS (__fzf_defaults "" "--scheme=history --bind=ctrl-r:toggle-sort --highlight-line $FZF_CTRL_R_OPTS +m")
|
set -lx FZF_DEFAULT_OPTS (__fzf_defaults "" "--scheme=history --bind=ctrl-r:toggle-sort --wrap-sign '"\t"↳ ' --highlight-line $FZF_CTRL_R_OPTS +m")
|
||||||
set -lx FZF_DEFAULT_OPTS_FILE ''
|
set -lx FZF_DEFAULT_OPTS_FILE ''
|
||||||
builtin history -z | eval (__fzfcmd) --read0 --print0 -q '(commandline)' | read -lz result
|
builtin history -z | eval (__fzfcmd) --read0 --print0 -q '(commandline)' | read -lz result
|
||||||
and commandline -- $result
|
and commandline -- $result
|
||||||
|
@ -113,11 +113,11 @@ fzf-history-widget() {
|
|||||||
if zmodload -F zsh/parameter p:history 2>/dev/null && (( ${#commands[perl]} )); then
|
if zmodload -F zsh/parameter p:history 2>/dev/null && (( ${#commands[perl]} )); then
|
||||||
selected="$(printf '%s\t%s\000' "${(kv)history[@]}" |
|
selected="$(printf '%s\t%s\000' "${(kv)history[@]}" |
|
||||||
perl -0 -ne 'if (!$seen{(/^\s*[0-9]+\**\t(.*)/s, $1)}++) { s/\n/\n\t/g; print; }' |
|
perl -0 -ne 'if (!$seen{(/^\s*[0-9]+\**\t(.*)/s, $1)}++) { s/\n/\n\t/g; print; }' |
|
||||||
FZF_DEFAULT_OPTS=$(__fzf_defaults "" "-n2..,.. --scheme=history --bind=ctrl-r:toggle-sort --highlight-line ${FZF_CTRL_R_OPTS-} --query=${(qqq)LBUFFER} +m --read0") \
|
FZF_DEFAULT_OPTS=$(__fzf_defaults "" "-n2..,.. --scheme=history --bind=ctrl-r:toggle-sort --wrap-sign '\t↳ ' --highlight-line ${FZF_CTRL_R_OPTS-} --query=${(qqq)LBUFFER} +m --read0") \
|
||||||
FZF_DEFAULT_OPTS_FILE='' $(__fzfcmd))"
|
FZF_DEFAULT_OPTS_FILE='' $(__fzfcmd))"
|
||||||
else
|
else
|
||||||
selected="$(fc -rl 1 | awk '{ cmd=$0; sub(/^[ \t]*[0-9]+\**[ \t]+/, "", cmd); if (!seen[cmd]++) print $0 }' |
|
selected="$(fc -rl 1 | awk '{ cmd=$0; sub(/^[ \t]*[0-9]+\**[ \t]+/, "", cmd); if (!seen[cmd]++) print $0 }' |
|
||||||
FZF_DEFAULT_OPTS=$(__fzf_defaults "" "-n2..,.. --scheme=history --bind=ctrl-r:toggle-sort --highlight-line ${FZF_CTRL_R_OPTS-} --query=${(qqq)LBUFFER} +m") \
|
FZF_DEFAULT_OPTS=$(__fzf_defaults "" "-n2..,.. --scheme=history --bind=ctrl-r:toggle-sort --wrap-sign '\t↳ ' --highlight-line ${FZF_CTRL_R_OPTS-} --query=${(qqq)LBUFFER} +m") \
|
||||||
FZF_DEFAULT_OPTS_FILE='' $(__fzfcmd))"
|
FZF_DEFAULT_OPTS_FILE='' $(__fzfcmd))"
|
||||||
fi
|
fi
|
||||||
local ret=$?
|
local ret=$?
|
||||||
|
@ -617,6 +617,8 @@ func defaultKeymap() map[tui.Event][]*action {
|
|||||||
if !util.IsWindows() {
|
if !util.IsWindows() {
|
||||||
add(tui.CtrlZ, actSigStop)
|
add(tui.CtrlZ, actSigStop)
|
||||||
}
|
}
|
||||||
|
add(tui.CtrlSlash, actToggleWrap)
|
||||||
|
addEvent(tui.AltKey('/'), actToggleWrap)
|
||||||
|
|
||||||
addEvent(tui.AltKey('b'), actBackwardWord)
|
addEvent(tui.AltKey('b'), actBackwardWord)
|
||||||
add(tui.ShiftLeft, actBackwardWord)
|
add(tui.ShiftLeft, actBackwardWord)
|
||||||
|
Loading…
Reference in New Issue
Block a user