X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=dot-files%2F_zshrc;h=d800cc42c2d8694bd4d9918ac35178f1d7aa2961;hb=43ac30729d07e5c4b514001092f107c5f92c923a;hp=d651aa41cb735f896210c2d6895085422947f077;hpb=364a673bbe591684a042038866b9d9c8acfcb054;p=sugar.git diff --git a/dot-files/_zshrc b/dot-files/_zshrc index d651aa4..d800cc4 100644 --- a/dot-files/_zshrc +++ b/dot-files/_zshrc @@ -127,10 +127,81 @@ function print_directory_info() { fi } +function nfgrep() { + fgrep --with-filename --line-number --context=1 --colour=always "$@" | $PAGER +} + +function ppgrep() { + local -a percol_opts + + if [[ $# -gt 0 ]]; then + percol_opts=("--query" "$1") + fi + + ps aux | percol "${percol_opts[@]}" | awk '{ print $2 }' +} + +function ppkill() { + local -a ppgrep_opts + + if [[ $1 =~ "^[^-]" ]]; then + ppgrep_opts=("$1") + shift + fi + + ppgrep "${ppgrep_opts[@]}" | xargs kill "$@" +} + +function percol_select_history() { + local -a tac_cmd + + if which gtac >&/dev/null; then + tac_cmd=("gtac") + elif which tac >&/dev/null; then + tac_cmd=("tac") + else + tac_cmd=("cat") + fi + + 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") + 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 + zle -N percol_select_history + bindkey '^R' percol_select_history +fi + HISTFILE="$HOME/.zhistory" HISTSIZE=6000000 SAVEHIST=6000000 +function lv() { + local -a lv_cmd + + if whence -p lv >/dev/null; then + lv_cmd=("lv") + elif which less >&/dev/null; then + lv_cmd=("less") + elif which more >&/dev/null; then + lv_cmd=("more") + else + echo >&2 "$0: no pager commands are found" + fi + + command "${lv_cmd[@]}" "$@" +} + alias -g L="| $PAGER" alias -g G="| grep" alias -g H="| head" @@ -143,25 +214,18 @@ 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="ssh -X admin@aria.cielonegro.org" -alias nem="ssh -X pho@nem.cielonegro.org" -alias mikasa="ssh -X daimon@mikasa.tomilab.net" alias aria-emacs="ssh -f -X admin@aria.cielonegro.org emacsclient -c" - -alias g1="ssh pho@g1.cuenote.jp" -alias g2="ssh pho@g2.cuenote.jp" -alias mana="ssh pho@mana" +alias pho-dev-boinc="ssh -f -X pho@pho.dev.office.ymir.co.jp env LANG=C /home/pho/var/BOINC/run_manager" if [ $(hostname) = "aria.cielonegro.org" ]; then alias safari="open -a Safari" @@ -229,11 +293,11 @@ else fi # Run "fortune" if we aren't in a GNU Screen session. - if which fortune 2>&1 >/dev/null; then + if which fortune >/dev/null 2>&1; then fortune fi fi -if which ssh-agent-manager 2>&1 >/dev/null; then +if which ssh-agent-manager >/dev/null 2>&1; then eval `ssh-agent-manager -s` fi