| JP Vossen on 9 Dec 2015 11:00:07 -0800 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: [PLUG] PLUG N 2015-12-08: QEMU, sshfs and readline |
Good point, I should have mentioned CTRL-R, which is reverse command
history search that's there by default. CTRL-R will search your history
in reverse order for the substring you enter, e.g., "^Rfile" will find
the most recent instance of the string "file". The up arrow bind below
searches only the start of the string, so it will find "vi" but not
"paving".
I really like the up arrow behavior when I'm prototyping something
because I'm often running the same several commands and I find typing
the first 1-2 characters and up arrow is very fast and feels natural to
me. YMMV.
On 12/09/2015 04:07 AM, PaulNM wrote:
> Hi JP,
>
> I'm wondering if those bind commands give you any advantage over
> ctrl-r history searching (aside from the neat case insensitive one). Or
> did you not know about ctrl-r when making them. :)
>
> - PaulNM
>
>
> On 12/09/2015 03:12 AM, JP Vossen wrote:
>> Thanks to Keith for a very interesting QEMU P2V (physical 2 virtual)
>> talk!
>>
>>
>
> SNIP
>
>> -----
>> ####################### JP settings ##############################
>> # Only if interactive bash with a terminal!
>> [ -t 1 -a -n "$BASH_VERSION" ] && {
>> PS1='\n[\u@\h:T\l:L$SHLVL:C\!:J\j:\D{%Y-%m-%d_%H:%M:%S_%Z}]\n$PWD\$ '
>> alias ll='ls --color=auto -F -h -l'
>> alias md='mkdir'
>> alias vzip='unzip -lvM'
>> export LESS='--LONG-PROMPT --LINE-NUMBERS --ignore-case --QUIET
>> --no-init'
>> bind '"\e[A": history-search-backward'
>> bind '"\e[B": history-search-forward'
>> bind '"\C-i": menu-complete'
>> bind 'set completion-ignore-case on'
>> export HISTCONTROL='erasedups:ignoredups:ignorespace'
>> export HISTIGNORE='&:[ ]*' # bash >= 3, omit dups & lines starting
>> with space
>> export MANWIDTH=80 # man page width, use < 80 if COLUMNS=80
>> & less -N
>> export VISUAL='vi'
>> function mcd {
>> mkdir -p "$1"
>> cd "$1"
>> }
>> }
>> -----
>>
>> Most of that should be clear, but the 4 `bind` commands are really the
>> key in the context of the discussion with Mike. The first two set it so
>> that when you type the first few characters of a commend then hit up
>> arrow, it will search. E.g., type "vi " then hit up arrow for the last
>> `vi` command. Keep hitting up or down arrow to scroll the list of `vi`
>> commands in your history. REALLY useful, should be the default (might
>> be the default in zsh).
>>
>> The 3rd `bind` command changes tab completion to both display all the
>> possible tab completion alternatives and to cycle through them at each
>> tab press.
>>
>> The 4th one makes tab completion case insensitive.
>>
>> There are LOTS more things you can tweak in Readline, check out the
>> docs. And you can get the Readline docs, and a whole lot more at the
>> following page, which I amusingly generate using a Perl script:
>> http://www.bashcookbook.com/bashinfo/
>> http://www.bashcookbook.com/bashinfo/#readline
Later,
JP
-- -------------------------------------------------------------------
JP Vossen, CISSP | http://www.jpsdomain.org/ | http://bashcookbook.com/
___________________________________________________________________________
Philadelphia Linux Users Group -- http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug