]> gitweb @ CieloNegro.org - sugar.git/blobdiff - dot-files/_zshrc
Auto commit by The Sugar System.
[sugar.git] / dot-files / _zshrc
index 603cdd2d925539ea4c0fe16dc3fb28914e5e419c..13e764d270eeb822aefe67496329a4345ce2dc0f 100644 (file)
@@ -127,6 +127,10 @@ function print_directory_info() {
     fi
 }
 
+function nfgrep() {
+    fgrep --with-filename --line-number --context=1 --colour=always "$@" | $PAGER
+}
+
 function ppgrep() {
     local -a percol_opts
 
@@ -159,14 +163,18 @@ function percol_select_history() {
         tac_cmd=("cat")
     fi
 
-    BUFFER=$("${tac_cmd[@]}" "$HISTFILE" | \
+    local selected
+    selected=$("${tac_cmd[@]}" "$HISTFILE" | \
         sed 's/^: [0-9]*:[0-9]*;//' | \
+        awk 'seen[$0] {next} {seen[$0]++; print}' | \
         percol --match-method regex --query "$LBUFFER")
-    CURSOR=$#BUFFER # move cursor to the end of line
-    zle redisplay
-
-    if [[ -n $BUFFER ]]; then
-        zle accept-line
+    if [[ $? -eq 0 ]]; then
+        BUFFER="$selected"
+        CURSOR="$#BUFFER" # move cursor to the end of line
+        zle redisplay
+        #zle accept-line  # uncomment this to execute the selected one immediately.
+    else
+        zle redisplay
     fi
 }
 if which percol >&/dev/null; then
@@ -190,15 +198,15 @@ alias p='pushd'
 alias o='popd'
 alias d='dirs'
 alias df='df -h'
-alias ed='ed -p "ed> "'
 alias du='du -k'
-alias nc='nc -vv'
+alias ed='ed -p "ed> "'
+alias man="LANG=C man"
 alias mwget="wget --user-agent='Mozilla/1.4b'"
+alias nc='nc -vv'
+alias pkgsrc="pushd /usr/pkgsrc"
 alias pstow="pushd /usr/local/stow"
 alias w3m="w3m -O UTF-8"
 alias w3mb="w3m -O UTF-8 -B"
-alias pkgsrc="pushd /usr/pkgsrc"
-alias man="LANG=C man"
 
 alias aria-emacs="ssh -f -X admin@aria.cielonegro.org emacsclient -c"
 alias pho-dev-boinc="ssh -f -X pho@pho.dev.office.ymir.co.jp env LANG=C /home/pho/var/BOINC/run_manager"