fish-shell/share/functions
Fabian Homborg 4bfda47449 Bind ctrl-r to search history if the commandline isn't empty
This is super cheesy.

One of the most common feature requests we get is "control-r must
search", even tho just using history-search-backward via e.g. up-arrow
is perfectly capable. The only real difference is that ctrl-r search
in other shells allows editing the search term by default, while we
stop the history search and edit the new commandline in those cases.

So, since the major problem is muscle-memory on ctrl-r,
let's just use that!

This makes ctrl-r do nothing on empty commandlines, and do
history-search-backward otherwise, so the basic flow of "press ctrl-r
to start history search, enter your search term, press ctrl-r to cycle
through matches" just works (except the first ctrl-r is useless and it
doesn't show anything).

See #602.
2020-10-23 13:42:54 +02:00
..
__fish_abbr_old.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
__fish_any_arg_in.fish completions/git: some improvements 2019-10-29 19:13:31 +01:00
__fish_anypython.fish anypython: Try supported numbered python3 versions 2020-05-10 22:49:25 +02:00
__fish_append.fish Don't use abbreviated long options 2020-09-19 11:47:41 +02:00
__fish_apropos.fish __fish_apropos: Use macOS' stat explicitly 2020-10-09 18:58:35 +02:00
__fish_cancel_commandline.fish Speed up default ^C action considerably 2020-06-29 19:41:33 -05:00
__fish_commandline_is_singlequoted.fish Auto-escape pastes inside single-quotes 2017-03-16 16:08:13 +01:00
__fish_complete_atool_archive_contents.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
__fish_complete_bittorrent.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
__fish_complete_blockdevice.fish Split off __fish_complete_blockdevice from mount.fish. 2016-05-27 14:56:47 -07:00
__fish_complete_cd.fish Revert "Fix cd completions if a directory exists in $CDPATH and $PWD" 2017-10-16 19:33:38 +02:00
__fish_complete_clang.fish Run fish_indent on share/**.fish 2020-08-17 17:40:28 +02:00
__fish_complete_command.fish Complete empty subcomands consistently 2019-11-05 09:05:46 +01:00
__fish_complete_convert_options.fish Don't use abbreviated long options 2020-09-19 11:47:41 +02:00
__fish_complete_directories.fish Don't use abbreviated long options 2020-09-19 11:47:41 +02:00
__fish_complete_docutils.fish Run fish_indent on all fish files in share/ 2020-05-19 21:15:39 +02:00
__fish_complete_ftp.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
__fish_complete_gpg.fish gpg completions: add export SSH command 2020-05-30 10:10:07 +02:00
__fish_complete_gpg_key_id.fish Fix typo 2020-05-28 17:41:01 +02:00
__fish_complete_gpg_user_id.fish dogfood string split -f 2020-04-20 22:39:48 +02:00
__fish_complete_group_ids.fish Complete IDs for unix users and groups that start with _ 2020-03-10 20:56:45 +01:00
__fish_complete_groups.fish dogfood string split -f 2020-04-20 22:39:48 +02:00
__fish_complete_job_pids.fish Add a function to complete job PIDs. 2015-11-27 16:07:16 -08:00
__fish_complete_list.fish Don't use abbreviated long options 2020-09-19 11:47:41 +02:00
__fish_complete_lpr.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_complete_lpr_option.fish Remove use of caret redirection from share/* 2018-04-01 13:42:38 -07:00
__fish_complete_man.fish Better __fish_describe_command for Macos 2020-10-03 16:18:44 -07:00
__fish_complete_mount_opts.fish Run fish_indent on share/**.fish 2020-08-17 17:40:28 +02:00
__fish_complete_netcat.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_complete_path.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
__fish_complete_pg_database.fish Improve psql completions and add some related commands (#6620) 2020-02-28 11:16:41 +01:00
__fish_complete_pg_user.fish Improve psql completions and add some related commands (#6620) 2020-02-28 11:16:41 +01:00
__fish_complete_pgrep.fish Rewrite __fish_complete_proc 2018-11-22 15:23:05 +01:00
__fish_complete_pids.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_complete_ppp_peer.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
__fish_complete_proc.fish Remove unused --inherit-variable 2020-04-21 21:11:26 +02:00
__fish_complete_ssh.fish Don't use abbreviated long options 2020-09-19 11:47:41 +02:00
__fish_complete_subcommand.fish Cleanup __fish_complete_subcommand 2020-08-06 21:24:26 +02:00
__fish_complete_suffix.fish Clarify that some complete calls just need a command with no user-defined completion 2020-10-10 09:24:49 +02:00
__fish_complete_user_at_hosts.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_complete_user_ids.fish Complete IDs for unix users and groups that start with _ 2020-03-10 20:56:45 +01:00
__fish_complete_users.fish Use the new string split --fields feature 2020-04-12 14:01:21 -07:00
__fish_complete_wireshark.fish Run fish_indent on share/**.fish 2020-08-17 17:40:28 +02:00
__fish_complete_zfs_mountpoint_properties.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
__fish_complete_zfs_pools.fish Reformat all files 2019-05-05 12:09:25 +02:00
__fish_complete_zfs_ro_properties.fish completion helper functions: do not use gettext 2020-03-06 22:23:50 +01:00
__fish_complete_zfs_rw_properties.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
__fish_complete_zfs_write_once_properties.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
__fish_config_interactive.fish Remove __fish_command_not_found_handler 2020-09-06 13:50:38 +02:00
__fish_contains_opt.fish use the new set -a and set -p in our scripts 2017-08-04 18:02:24 -07:00
__fish_crux_packages.fish dogfood string split -f 2020-04-20 22:39:48 +02:00
__fish_cursor_1337.fish fish vi mode cursor shape on iTerm2 2016-12-02 19:49:15 -08:00
__fish_cursor_konsole.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
__fish_cursor_xterm.fish Revert "Switch to bare vars in our math invocations" 2017-09-09 23:35:47 -07:00
__fish_describe_command.fish Better __fish_describe_command for Macos 2020-10-03 16:18:44 -07:00
__fish_first_token.fish Reformat all files 2019-05-05 12:09:25 +02:00
__fish_git_prompt.fish Move __fish_git_prompt -> fish_git_prompt 2019-02-10 14:44:50 +01:00
__fish_gnu_complete.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_hg_prompt.fish Rename __fish_hg_prompt -> fish_hg_prompt 2019-02-10 14:44:50 +01:00
__fish_is_first_arg.fish Reformat all files 2019-05-05 12:09:25 +02:00
__fish_is_first_token.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_is_git_repository.fish Remove use of caret redirection from share/* 2018-04-01 13:42:38 -07:00
__fish_is_nth_token.fish Add udevadm completions 2020-07-01 09:27:20 -05:00
__fish_is_switch.fish Reformat all files 2019-05-05 12:09:25 +02:00
__fish_is_token_n.fish Don't use abbreviated long options 2020-09-19 11:47:41 +02:00
__fish_is_zfs_feature_enabled.fish Fix zfs completions under FreeBSD 2018-05-26 12:20:04 -05:00
__fish_list_current_token.fish Some more precautionary uses of set --local 2020-05-15 21:35:48 +02:00
__fish_make_completion_signals.fish Restyle 2020-02-17 14:14:05 +01:00
__fish_man_page.fish __fish_man_page: ignore prefixing variable assignments 2019-12-19 23:44:58 +01:00
__fish_md5.fish In Fish MD5 on BSD now use given String and not -s 2020-04-05 17:25:02 -07:00
__fish_move_last.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_no_arguments.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_not_contain_opt.fish fix typo in error message 2017-06-09 12:12:36 -07:00
__fish_npm_helper.fish [npm/yarn] Add support for namespaced packages 2020-10-21 22:26:52 -05:00
__fish_number_of_cmd_args_wo_opts.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_paginate.fish __fish_paginate: move the cursor to end of recalled commandline 2020-09-17 18:44:54 +02:00
__fish_parent_directories.fish Reformat all files 2019-05-05 12:09:25 +02:00
__fish_prepend_sudo.fish Let __fish_prepend_sudo use the last commandline if there is no current one (#7079) 2020-06-04 18:25:02 +02:00
__fish_prev_arg_in.fish Reformat all files 2019-05-05 12:09:25 +02:00
__fish_preview_current_file.fish new function __fish_preview_current_file to open file at the cursor in pager 2020-04-07 22:30:05 +02:00
__fish_print_addresses.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_print_cmd_args.fish Add eselect, rc-update and rc-service completions. (These are utilities used by Gentoo Linux) 2013-11-27 18:36:05 +08:00
__fish_print_cmd_args_without_options.fish functions/__fish_print_cmd_args_without_options: Stringify 2019-01-26 19:20:16 +01:00
__fish_print_commands.fish Run fish_indent on share/**.fish 2020-08-17 17:40:28 +02:00
__fish_print_debian_apache_confs.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
__fish_print_debian_apache_mods.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
__fish_print_debian_apache_sites.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
__fish_print_encodings.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
__fish_print_filesystems.fish add ffs to known filesystems 2017-12-12 19:18:47 +01:00
__fish_print_gpg_algo.fish refactor gpg.fish completions 2019-10-29 19:07:35 +01:00
__fish_print_groups.fish Added completions/translations for zfs and zpool 2017-12-21 16:39:06 +01:00
__fish_print_help.fish Don't use abbreviated long options 2020-09-19 11:47:41 +02:00
__fish_print_hostnames.fish Run fish_indent on share/**.fish 2020-08-17 17:40:28 +02:00
__fish_print_interfaces.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
__fish_print_lpr_options.fish Remove use of caret redirection from share/* 2018-04-01 13:42:38 -07:00
__fish_print_lpr_printers.fish Remove use of caret redirection from share/* 2018-04-01 13:42:38 -07:00
__fish_print_modules.fish Remove use of caret redirection from share/* 2018-04-01 13:42:38 -07:00
__fish_print_mounted.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
__fish_print_packages.fish Run fish_indent on share/**.fish 2020-08-17 17:40:28 +02:00
__fish_print_pacman_repos.fish functions/__fish_print_pacman_repos.fish: fix 2019-10-26 18:11:29 +02:00
__fish_print_pipestatus.fish Remove pipestatus_with_signal 2020-09-24 20:14:10 +02:00
__fish_print_portage_available_pkgs.fish Rename functions to match others 2020-02-17 09:55:05 +01:00
__fish_print_portage_installed_pkgs.fish Rename functions to match others 2020-02-17 09:55:05 +01:00
__fish_print_portage_repository_paths.fish Rename functions to match others 2020-02-17 09:55:05 +01:00
__fish_print_service_names.fish Remove use of caret redirection from share/* 2018-04-01 13:42:38 -07:00
__fish_print_svn_rev.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
__fish_print_users.fish refactor the __*_users functions 2017-04-23 20:08:40 -07:00
__fish_print_VBox_vms.fish Add __fish_print_VBox_vms function 2016-12-21 14:51:48 +01:00
__fish_print_xdg_applications_directories.fish Fix xdg mimetype completion 2020-01-22 16:33:56 +01:00
__fish_print_xdg_mimetypes.fish Fix xdg mimetype completion 2020-01-22 16:33:56 +01:00
__fish_print_xwindows.fish Reformat all files 2019-05-05 12:09:25 +02:00
__fish_print_zfs_snapshots.fish Reformat all files 2019-05-05 12:09:25 +02:00
__fish_ps.fish __fish_ps: Use builtin realpath 2020-04-21 21:11:26 +02:00
__fish_pwd.fish Stringify __fish_pwd.fish 2020-01-24 19:05:08 +01:00
__fish_seen_argument.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_seen_subcommand_from.fish Drop unneeded '--' when using set builtin in various places 2006-12-13 06:37:27 +10:00
__fish_set_locale.fish Remove some dead code 2018-05-12 13:48:32 +02:00
__fish_shared_key_bindings.fish Stop repainting after paste 2020-08-07 21:06:16 +02:00
__fish_should_complete_switches.fish Reformat all files 2019-05-05 12:09:25 +02:00
__fish_status_to_signal.fish Remove pipestatus_with_signal 2020-09-24 20:14:10 +02:00
__fish_svn_prompt.fish Rename __fish_svn_prompt -> fish_svn_prompt 2019-02-10 14:44:50 +01:00
__fish_systemctl.fish systemctl completions: Use --plain where appropriate 2020-04-18 11:11:27 +02:00
__fish_systemctl_services.fish dogfood string split -f 2020-04-20 22:39:48 +02:00
__fish_systemd_machine_images.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
__fish_systemd_machines.fish Revert "Move __fish_systemd_machines into machinectl completion script" 2019-12-09 21:07:21 +01:00
__fish_toggle_comment_commandline.fish Uncomment most recent comment if commandline is empty when using toggle comment binding (#7137) 2020-06-24 18:35:36 +02:00
__fish_use_subcommand.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_vcs_prompt.fish Rename __fish_vcs_prompt -> fish_vcs_prompt 2019-02-10 14:44:50 +01:00
__fish_whatis.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_whatis_current_token.fish Return early if token is empty in whatis_current_token 2020-07-12 00:15:24 +02:00
__terlar_git_prompt.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
_validate_int.fish add ability for argparse to validate args 2017-07-18 14:42:50 -07:00
abbr.fish abbr: Erase all abbrs in one go 2020-10-04 12:34:51 +02:00
alias.fish alias: don't add --wraps for wrappers with the same name 2020-10-10 09:24:49 +02:00
cd.fish cd: Remove unneeded code 2020-09-12 20:17:30 +02:00
cdh.fish cdh: Only replace home directory with ~ at the start of paths 2018-08-13 18:24:42 +02:00
contains_seq.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
delete-or-exit.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
diff.fish Colourise diff(1) output, if supported (#7308) 2020-09-04 18:43:09 +02:00
dirh.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
dirs.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
down-or-search.fish Use set -l to force use of a local variable 2020-05-15 08:25:07 +02:00
edit_command_buffer.fish edit_command_buffer: Add line:col support for micro 2020-05-08 20:00:07 +02:00
export.fish Fix export returning 1 on success 2017-10-01 01:11:17 -07:00
fish_add_path.fish fish_add_path: Don't resolve symlinks 2020-09-12 19:28:01 +02:00
fish_breakpoint_prompt.fish Revert "Switch to bare vars in our math invocations" 2017-09-09 23:35:47 -07:00
fish_clipboard_copy.fish fish_clipboard_copy: also copy newlines from mult-line commands 2020-05-14 21:07:37 +02:00
fish_clipboard_paste.fish Revert "Set fish_clipboard_paste handler once on startup" 2019-11-04 20:47:58 +01:00
fish_command_not_found.fish Fix invalid flags for builtin type 2020-09-30 21:46:43 +02:00
fish_config.fish fish_config: Don't mention python 2 2020-05-30 12:10:24 +02:00
fish_default_key_bindings.fish Bind ctrl-r to search history if the commandline isn't empty 2020-10-23 13:42:54 +02:00
fish_default_mode_prompt.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
fish_git_prompt.fish Run fish_indent on share/**.fish 2020-08-17 17:40:28 +02:00
fish_greeting.fish Move fish_greeting to a function 2020-08-21 20:46:23 +02:00
fish_hg_prompt.fish fish_hg_prompt should return 1 when not in a mercurial directory 2020-04-19 04:24:28 +02:00
fish_hybrid_key_bindings.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
fish_indent.fish Rename $FISH_VERSION back to the original $version. 2017-10-14 08:33:02 -07:00
fish_is_root_user.fish Add a function to check if the user is root. 2020-06-26 21:25:13 +02:00
fish_job_summary.fish Call fish_prompt after background job finishes 2020-05-22 21:24:59 +02:00
fish_key_reader.fish Rename $FISH_VERSION back to the original $version. 2017-10-14 08:33:02 -07:00
fish_mode_prompt.fish Added default mode prompt function (#3727) 2017-01-12 16:07:41 +01:00
fish_opt.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
fish_print_git_action.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
fish_print_hg_root.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
fish_prompt.fish Make prompts forward compatible with fish 3.1.2 by passing locally exported variable 2020-09-05 09:58:55 +02:00
fish_svn_prompt.fish fix Subversion prompt (#7278) 2020-08-26 18:31:23 +02:00
fish_title.fish Only disable title in emacs "term" 2020-06-17 16:48:13 +02:00
fish_update_completions.fish Add __fish_anypython helper function 2019-03-09 18:04:21 +01:00
fish_vcs_prompt.fish fish_vcs_prompt: allow argv passthrough 2020-05-24 20:18:06 +02:00
fish_vi_cursor.fish Run fish_indent on all fish files in share/ 2020-05-19 21:15:39 +02:00
fish_vi_key_bindings.fish Add forward-single-char input command 2020-08-01 12:09:31 +02:00
funced.fish Use set -l to force use of a local variable 2020-05-15 08:25:07 +02:00
funcsave.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
grep.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
help.fish help: Add the other pages 2020-08-07 21:06:16 +02:00
history.fish Add newline to history clear message for consistency 2020-05-08 22:36:57 +08:00
hostname.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
isatty.fish Use the newly fixed test -t in isatty 2020-09-16 21:02:59 +02:00
la.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
ll.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
ls.fish Move __fish_set_lscolors to ls.fish 2020-07-12 14:18:42 -05:00
man.fish Fix man function for NetBSD 2019-02-14 10:57:38 +01:00
N_.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
nextd-or-forward-word.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
nextd.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
open.fish open: Workaround an xdg-open bug 2020-07-21 16:59:05 +02:00
popd.fish Revert "convert popd and pushd to use argparse" 2017-09-14 12:36:37 +08:00
prevd-or-backward-word.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
prevd.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
prompt_hostname.fish Revert prompt_hostname to short hostname only 2018-03-12 08:24:42 -05:00
prompt_pwd.fish Use set -l to force use of a local variable 2020-05-15 08:25:07 +02:00
psub.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
pushd.fish fix pushd 2020-04-26 14:39:15 +02:00
realpath.fish Some more precautionary uses of set --local 2020-05-15 21:35:48 +02:00
seq.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
setenv.fish fix setenv and add unit tests 2017-04-05 15:31:13 -07:00
suspend.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
trap.fish Some more precautionary uses of set --local 2020-05-15 21:35:48 +02:00
umask.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
up-or-search.fish Some more precautionary uses of set --local 2020-05-15 21:35:48 +02:00
vared.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00