mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-04-23 19:01:15 -03:00
Documentation update
Rework for Doxygen >1.8. Moved large parts of the documentation to a simplified format, making use of Markdown enhancements and fixing bad long options.
This commit is contained in:
139
doc_src/bind.txt
139
doc_src/bind.txt
@@ -1,97 +1,94 @@
|
||||
\section bind bind - handle fish key bindings
|
||||
|
||||
\subsection bind-synopsis Synopsis
|
||||
<tt>bind [OPTIONS] SEQUENCE COMMAND</tt>
|
||||
\fish{syn}
|
||||
bind [OPTIONS] SEQUENCE COMMAND
|
||||
\endfish
|
||||
|
||||
\subsection bind-description Description
|
||||
|
||||
<tt>bind</tt> adds a binding for the specified key sequence to the
|
||||
`bind` adds a binding for the specified key sequence to the
|
||||
specified command.
|
||||
|
||||
SEQUENCE is the character sequence to bind to. These should be written as
|
||||
<a href="index.html#escapes">fish escape sequences</a>. For example, because pressing
|
||||
the Alt key and another character sends that character prefixed with
|
||||
an escape character, Alt-based key bindings can be written using the
|
||||
\c \\e escape. For example, Alt-w can be written as
|
||||
<tt>\\ew</tt>. The control character can be written in much the same way
|
||||
using the \c \\c escape, for example Control-x (^X) can be written as
|
||||
<tt>\\cx</tt>. Note that Alt-based key bindings are case sensitive and
|
||||
Control-based key bindings are not. This is a constraint of text-based
|
||||
terminals, not \c fish.
|
||||
SEQUENCE is the character sequence to bind to. These should be written as <a
|
||||
href="index.html#escapes">fish escape sequences</a>. For example, because
|
||||
pressing the Alt key and another character sends that character prefixed with
|
||||
an escape character, Alt-based key bindings can be written using the `\e`
|
||||
escape. For example, @key{Alt,w} can be written as `\ew`. The control
|
||||
character can be written in much the same way using the `\c` escape, for
|
||||
example @key{Control,X} (^X) can be written as `\cx`. Note
|
||||
that Alt-based key bindings are case sensitive and Control-based key bindings
|
||||
are not. This is a constraint of text-based terminals, not `fish`.
|
||||
|
||||
The default key binding can be set by specifying a SEQUENCE of the empty
|
||||
string (that is, <code>''</code>). It will be used whenever no
|
||||
other binding matches. For most key bindings, it makes sense to use
|
||||
the \c self-insert function (i.e. <tt>bind '' self-insert</tt> as the
|
||||
default keybinding. This will insert any keystrokes not specifically
|
||||
bound to into the editor. Non-printable characters are ignored by the
|
||||
editor, so this will not result in control sequences being
|
||||
printable.
|
||||
The default key binding can be set by specifying a `SEQUENCE` of the empty
|
||||
string (that is, ```''``` ). It will be used whenever no other binding
|
||||
matches. For most key bindings, it makes sense to use the `self-insert`
|
||||
function (i.e. ```bind '' self-insert```) as the default keybinding. This
|
||||
will insert any keystrokes not specifically bound to into the editor. Non-
|
||||
printable characters are ignored by the editor, so this will not result in
|
||||
control sequences being printable.
|
||||
|
||||
If the -k switch is used, the name of the key (such as down, up or
|
||||
backspace) is used instead of a sequence. The names used are the same
|
||||
as the corresponding curses variables, but without the 'key_'
|
||||
prefix. (See \c terminfo(5) for more information, or use <tt>bind
|
||||
--key-names</tt> for a list of all available named keys.)
|
||||
If the `-k` switch is used, the name of the key (such as 'down', 'up' or 'backspace')
|
||||
is used instead of a sequence. The names used are the same as the
|
||||
corresponding curses variables, but without the 'key_' prefix. (See
|
||||
`terminfo(5)` for more information, or use `bind --key-names` for a list of all
|
||||
available named keys.)
|
||||
|
||||
COMMAND can be any fish command, but it can also be one of a set of
|
||||
special input functions. These include functions for moving the
|
||||
cursor, operating on the kill-ring, performing tab completion,
|
||||
etc. Use 'bind --function-names' for a complete list of these input
|
||||
functions.
|
||||
`COMMAND` can be any fish command, but it can also be one of a set of special
|
||||
input functions. These include functions for moving the cursor, operating on
|
||||
the kill-ring, performing tab completion, etc. Use `bind --function-names` for
|
||||
a complete list of these input functions.
|
||||
|
||||
When COMMAND is a shellscript command, it is a good practice to put
|
||||
the actual code into a <a href="#function">function</a> and simply
|
||||
bind to the function name. This way it becomes significantly easier to
|
||||
test the function while editing, and the result is usually more
|
||||
readable as well.
|
||||
When `COMMAND` is a shellscript command, it is a good practice to put the actual
|
||||
code into a <a href="#function">function</a> and simply bind to the function
|
||||
name. This way it becomes significantly easier to test the function while
|
||||
editing, and the result is usually more readable as well.
|
||||
|
||||
If such a script produces output, the script needs to finish by
|
||||
calling 'commandline -f repaint' in order to tell fish that a repaint
|
||||
is in order.
|
||||
If such a script produces output, the script needs to finish by calling
|
||||
`commandline -f repaint` in order to tell fish that a repaint is in order.
|
||||
|
||||
Key bindings are not saved between sessions by default. To save custom
|
||||
keybindings, edit the \c fish_user_key_bindings function and insert the
|
||||
appropriate \c bind statements.
|
||||
keybindings, edit the `fish_user_key_bindings` function and insert the
|
||||
appropriate `bind` statements.
|
||||
|
||||
The following parameters are available:
|
||||
|
||||
- <tt>-k</tt> or <tt>--key</tt> Specify a key name, such as 'left' or 'backspace' instead of a character sequence
|
||||
- <tt>-K</tt> or <tt>--key-names</tt> Display a list of available key names
|
||||
- <tt>-f</tt> or <tt>--function-names</tt> Display a list of available input functions
|
||||
- `-k` or `--key` Specify a key name, such as 'left' or 'backspace' instead of a character sequence
|
||||
- `-K` or `--key-names` Display a list of available key names
|
||||
- `-f` or `--function-names` Display a list of available input functions
|
||||
|
||||
The following special input functions are available:
|
||||
|
||||
- \c backward-char, moves one character to the left
|
||||
- \c backward-delete-char, deletes one character of input to the left of the cursor
|
||||
- \c backward-kill-line, move everything from the beginning of the line to the cursor to the killring
|
||||
- \c backward-kill-word, move the word to the left of the cursor to the killring
|
||||
- \c backward-word, move one word to the left
|
||||
- \c beginning-of-history, move to the beginning of the history
|
||||
- \c beginning-of-line, move to the beginning of the line
|
||||
- \c capitalize-word, make the current word begin with a capital letter
|
||||
- \c complete, guess the remainder of the current token
|
||||
- \c delete-char, delete one character to the right of the cursor
|
||||
- \c delete-line, delete the entire line
|
||||
- \c downcase-word, make the current word lowercase
|
||||
- \c dump-functions, print a list of all key-bindings
|
||||
- \c end-of-history, move to the end of the history
|
||||
- \c end-of-line, move to the end of the line
|
||||
- \c explain, print a description of possible problems with the current command
|
||||
- \c forward-char, move one character to the right
|
||||
- \c forward-word, move one word to the right
|
||||
- \c history-search-backward, search the history for the previous match
|
||||
- \c history-search-forward, search the history for the next match
|
||||
- \c kill-line, move everything from the cursor to the end of the line to the killring
|
||||
- \c kill-whole-line, move the line to the killring
|
||||
- \c kill-word, move the next word to the killring
|
||||
- \c upcase-word, make the current word uppercase
|
||||
- \c yank, insert the latest entry of the killring into the buffer
|
||||
- \c yank-pop, rotate to the previous entry of the killring
|
||||
- `backward-char`, moves one character to the left
|
||||
- `backward-delete-char`, deletes one character of input to the left of the cursor
|
||||
- `backward-kill-line`, move everything from the beginning of the line to the cursor to the killring
|
||||
- `backward-kill-word`, move the word to the left of the cursor to the killring
|
||||
- `backward-word`, move one word to the left
|
||||
- `beginning-of-history`, move to the beginning of the history
|
||||
- `beginning-of-line`, move to the beginning of the line
|
||||
- `capitalize-word`, make the current word begin with a capital letter
|
||||
- `complete`, guess the remainder of the current token
|
||||
- `delete-char`, delete one character to the right of the cursor
|
||||
- `delete-line`, delete the entire line
|
||||
- `downcase-word`, make the current word lowercase
|
||||
- `dump-functions`, print a list of all key-bindings
|
||||
- `end-of-history`, move to the end of the history
|
||||
- `end-of-line`, move to the end of the line
|
||||
- `explain`, print a description of possible problems with the current command
|
||||
- `forward-char`, move one character to the right
|
||||
- `forward-word`, move one word to the right
|
||||
- `history-search-backward`, search the history for the previous match
|
||||
- `history-search-forward`, search the history for the next match
|
||||
- `kill-line`, move everything from the cursor to the end of the line to the killring
|
||||
- `kill-whole-line`, move the line to the killring
|
||||
- `kill-word`, move the next word to the killring
|
||||
- `upcase-word`, make the current word uppercase
|
||||
- `yank`, insert the latest entry of the killring into the buffer
|
||||
- `yank-pop`, rotate to the previous entry of the killring
|
||||
|
||||
\subsection bind-example Examples
|
||||
|
||||
<tt>bind \\cd 'exit'</tt> causes \c fish to exit when Control-d is pressed.
|
||||
`bind \cd 'exit'` causes `fish` to exit when @key{Control,D} is pressed.
|
||||
|
||||
<tt>bind -k ppage history-search-backward</tt> performs a history search when the Page Up key is pressed.
|
||||
`bind -k ppage history-search-backward` performs a history search when the @key{Page Up} key is pressed.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user