Ok, it's gone far too long without any new fish releases. There are
some pretty nice new features sitting in the darcs repo, including the
following:

Case insensitive completion

The way this works is that if there are no case sensitive completions
that match, case insensitive completions are usedas a fallback. If
there is a case insensitive match, then the current argument is
changed to match the case of the completion. All this happens
automatically. There are situations where this is not ideal, but it
seems to me to be the correct behaviour ~99 % of the time.
Specifically, after using it for a long time, I have yet to have any
realworld problems with it.


Multiline editing

When editing a multiline command, the up and down keys move up and
down in the command. When at the top line, up performs a history
search, and the same with down on the bottom line. This makes keyboard
navigation far easier on long commands.


Long commands

When editing a very wide command, the prompt will jump to it's own
line, so that you have the entire width of the screen at your disposal
for editing your command.


Key bindings

Key bindings no longer use the inputrc file format. Instead, they are
done using a simple fish builtiin command. There was never any real
benefit from using the inputrc format, since the functions you could
bind to in fish are different from those in readline. The new system
makes it very easy to change the bindings interactively from the
shell. To bind Control-p to the pwd command, write:

bind \cp pwd

To bind Alt-h to change home directory to your home directory, type

bind \eh cd

Note how the regular escape sequences already supported by the shell
are reused to provide the same functionality here. That means that if
you learn once how to use fish escape sequences, you can reuse the
same knowledge in other places.

Fish now ships with a set of default keybindings, enabled by calling
the fish_default_keybingings function. An easy way to write your own
keybindings is to base your bindings on these. To permanently
customize your keybindings, execute the following commands:

function my_keybindings
    fish_default_keybindings
    bind \eh cd
    ...
end

funcsave my_keybindings

set fish_keybindings my_keybindings

The fish_keybindings variable is a universal variable with an event
handler that evaluates the value of the variable on change, meaning
that when the call to set is made, all running fish instances will
have their keybindings changed. And all this is done in shellscript,
the only part of the above performed by the shell itself is the bind
builtin.


If anybody has the time to perform some extra testing of fish to
report bugs, I'd be grateful. I hope to release the new fish version
within a week or two.

Axel

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Fish-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fish-users

Reply via email to