PaulNM on 9 Dec 2015 01:07:35 -0800


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] PLUG N 2015-12-08: QEMU, sshfs and readline


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


___________________________________________________________________________
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