mirror of
https://github.com/nmasur/dotfiles
synced 2024-11-27 01:55:37 +00:00
30 lines
861 B
Fish
30 lines
861 B
Fish
|
# by @farcaller from https://github.com/fish-shell/fish-shell/issues/825#issuecomment-440286038
|
||
|
|
||
|
function up-or-search -d "Depending on cursor position and current mode, either search backward or move up one line"
|
||
|
# If we are already in search mode, continue
|
||
|
if commandline --search-mode
|
||
|
commandline -f history-search-backward
|
||
|
return
|
||
|
end
|
||
|
|
||
|
# If we are navigating the pager, then up always navigates
|
||
|
if commandline --paging-mode
|
||
|
commandline -f up-line
|
||
|
return
|
||
|
end
|
||
|
|
||
|
# We are not already in search mode.
|
||
|
# If we are on the top line, start search mode,
|
||
|
# otherwise move up
|
||
|
set lineno (commandline -L)
|
||
|
|
||
|
switch $lineno
|
||
|
case 1
|
||
|
commandline -f history-search-backward
|
||
|
history merge # <-- ADDED THIS
|
||
|
|
||
|
case '*'
|
||
|
commandline -f up-line
|
||
|
end
|
||
|
end
|