minor new settings
[distro-setup] / .bashrc
diff --git a/.bashrc b/.bashrc
index 6889b83102e16bef415ffc5ab22e1b9d44c50177..a3dd3892f88b70f60a2ddfb97e84c231b778accf 100644 (file)
--- a/.bashrc
+++ b/.bashrc
@@ -198,8 +198,8 @@ HISTTIMEFORMAT="%I:%M %p %m/%d "
 HISTCONTROL=ignoredups
 # works in addition to HISTCONTROL to do more flexible things
 # it could also do the same things as HISTCONTROL and thus replace it,
-# but meh
-HISTIGNORE='k **'
+# but meh. dunno why, but just " *" does glob expansion, so use [ ] to avoid it.
+HISTIGNORE='k *:[ ]*'
 
 export BC_LINE_LENGTH=0
 
@@ -337,6 +337,13 @@ a() {
 
 ack() { ack-grep "$@"; }
 
+astudio() {
+    # googling android emulator libGL error: failed to load driver: r600
+    # lead to http://stackoverflow.com/a/36625175/14456
+    export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1
+    /a/opt/android-studio/bin/studio.sh "$@" &r;
+}
+
 bashrcpush () {
     local startdir="$PWD"
     cd ~
@@ -502,6 +509,11 @@ fa() {
     done < <(find "$@" -print0);
 }
 
+faf() { # find all files
+    find $@ -type f
+}
+
+fastboot() { /home/ian/Android/Sdk/platform-tools/fastboot "$@"; }
 
 ff() {
     if type -P firefox &>/dev/null; then
@@ -649,6 +661,14 @@ and works in older versions of git which did not have that."
     echo "${p%%/.git}"
 }
 
+# quit will prompt if the program crashes.
+gmacs() { gdb -ex=r -ex=quit --args emacs "$@"; r; }
+
+gse() {
+    git send-email --notes '--envelope-sender=<ian@iankelling.org>' \
+        --suppress-cc=self "$@"
+}
+
 gr() {
     grep -iIP --color=auto "$@"
 }
@@ -661,6 +681,18 @@ grr() {
     fi
 }
 
+hstatus() {
+    # do git status on published repos
+    cd /a/bin/githtml
+    for x in !(forks) forks/* ian-specific/*; do
+        cd `readlink -f $x`/..
+        hr
+        echo $x
+        i status
+        cd /a/bin/githtml
+    done
+}
+
 hl() { # history limit. Write extra history to archive file.
     # todo: this is not working or not used currently
     local max_lines linecount tempfile prune_lines x
@@ -689,6 +721,8 @@ hr() { # horizontal row. used to break up output
     echo
 }
 
+hrcat() { local f; for f; do [[ -f $f ]] || continue; hr; echo "$f"; cat "$f"; done }
+
 
 i() { git "$@"; }
 # modified from ~/local/bin/git-completion.bash
@@ -709,9 +743,10 @@ ic() {
 }
 
 
-ifn () {
+ifn() {
     # insensitive find
-    find -L . -iname "*$**" 2>/dev/null
+    find -L . -not \( -name .svn -prune -o -name .git -prune \
+         -o -name .hg -prune \) -iname "*$**" 2>/dev/null
 }
 
 
@@ -893,7 +928,7 @@ rlt() {
 }
 
 rlu() { # [OPTS] HOST PATH
-    # eg rlu -opts frodo testpath
+    # eg rlu -opts frodo /testpath
     # useful for selectively sending dirs which have been synced with unison,
     # where the path is the same on both hosts.
     opts=("${@:1:$#-2}") #  1 to last -2
@@ -959,6 +994,13 @@ sb() { # sudo bash -c
 }
 complete -F _root_command s sb
 
+scssl() {
+    # s gem install scss-lint
+    pushd /a/opt/thoughtbot-guides
+    git pull --stat
+    popd
+    scss-lint -c /a/opt/thoughtbot-guides/style/sass/.scss-lint.yml "$@"
+}
 
 ser() {
     local s; [[ $EUID != 0 ]] && s=sudo
@@ -1095,7 +1137,7 @@ te() {
 
 tm() {
     # timer in minutes
-    (sleep $(calc "$@ * 60") && mpv --volume 50 /a/bin/data/alarm.mp3) > /dev/null 2>&1 &
+    (sleep $(calc "$@ * 60") && mpv --volume 50 /a/bin/data/alarm.mp3 --loop=no) > /dev/null 2>&1 &
 }
 
 ts() { # start editing a new file
@@ -1457,6 +1499,15 @@ fi
 
 path_add --end ~/.npm-global
 
+
+# didn't get drush working, if I did, this seems like the
+# only good thing to include for it.
+# Include Drush completion.
+# if [ -f "/home/ian/.drush/drush.complete.sh" ] ; then
+#     source /home/ian/.drush/drush.complete.sh
+# fi
+
+
 # https://wiki.archlinux.org/index.php/Xinitrc#Autostart_X_at_login
 # i added an extra condition as gentoo xorg guide says depending on
 # $DISPLAY is fragile.