#! /bin/sh # settings alias al="vim $SETTING_DIR/alias && source $SETTING_DIR/alias" alias all="source $SETTING_DIR/alias" alias zshrc="vim ~/.zshrc && source ~/.$(basename $SHELL)rc" alias bashrc="vim ~/.bashrc && source ~/.$(basename $SHELL)rc" alias vimrc='vim ~/.vimrc' alias tigrc="vim $SETTING_DIR/tigrc" alias muttrc='vim ~/.muttrc' alias gitconfig='vim ~/.gitconfig' alias log="cat $SETTING_DIR/log | grep '`date +'%b %d'`'" # vim alias v='vim' alias vv='vim ~/vimwiki/index.md' alias ve='vim ~/.vim_runtime/my_configs.vim' alias vr='vim -R' alias cdv='cd ~/.vim_runtime' # amix/vimrc repo # script vs() { ( which $1 ) && vim $(which $1) } todo() { ( which $1 ) && grep -Po 'TODO.*' $(which $1) } fix() { ( which $1 ) && grep -Po 'FIXME.*' $(which $1) } gicd() { dir=$(gist $1 | tee /dev/tty | head -1) [[ -d $dir ]] && cd $dir } # shell alias src="source $HOME/.$(basename $SHELL)rc" alias ll='ls -alh' alias hg='history | grep' alias rmrf='rm -rf' alias rr='move_to_tmp' move_to_tmp() { mv $@ /tmp } prompt() { TMPFILE=$(mktemp); echo -e $1 > $TMPFILE && \ vim $TMPFILE && \ sed -i '$ q; s/$/ \\/' $TMPFILE && \ eval $(cat $TMPFILE | tee /dev/tty) } # package alias ai='sudo apt install' # apt install alias aptu='sudo apt update && sudo apt upgrade' alias si='sudo snap install' # snap install alias ni='sudo npm install -g' # nodejs install # cd to DIRs alias ..='cd ..' alias ld='cd -' # last directory cdg(){ cd ~/git/$1 } alias cda='cd ~/data' alias cdd='cd ~/Downloads' alias cdD='cd ~/Documents' alias cdV='cd ~/Videos' alias cdP='cd ~/Pictures' # gist alias gn='gist new' alias cdgg='cd ~/git/gist' # about custom settings alias cds='cd $SETTING_DIR' alias cdss='cd $SETTING_DIR/scripts' alias chs='cd $SETTING_DIR && tig status' # check setting changes # about vimwiki alias cdw='cd ~/vimwiki' alias chw='cd ~/vimwiki && tig --all' alias ww='cd ~/vimwiki && git add * && git commit -am "update" && git push' wg() { vim ~/vimwiki/$1.md } wi() { cat ~/vimwiki/$1.md } # crontab alias ce='crontab -e' # ranger alias r='_ranger_cd' alias ranrc='vim ~/.config/ranger/rc.conf' _ranger_cd() { tempfile="$(mktemp -t tmp.XXXXXX)" ranger --choosedir="$tempfile" "${@:-$(pwd)}" test -f "$tempfile" && if [ "$(cat -- "$tempfile")" != "$(echo -n `pwd`)" ]; then cd -- "$(cat "$tempfile")" fi rm -f -- "$tempfile" } # disk alias df='df -h' # git unalias gc &> /dev/null # override zsh plugin alias gc() { git clone $1 && cd $(basename $1) } gc1() { git clone --depth=1 $1 && cd $(basename $1) } gcg() { git clone git@github.com:$1/$2.git && cd $(basename $2) } alias gls='git log -S' alias cdgs='cd $(git submodule status | sed "s/^.//" | cut -d" " -f2)' # cd to first submodule github_release_asset() { command="upload-github-release-asset.sh\n github_api_token=$(cat ~/settings/tokens/github)\n owner=typebrook\n repo=tig\n tag=LATEST\n filename=$(which tig)\n overwrite=false" prompt "$command" } # docker alias dp='docker ps' alias dpa='docker ps -a' alias di='docker images' alias dc='docker-compose run --rm' alias ds='docker stop' alias drm='docker rm' alias dr='docker run --rm -it' # ssh alias keygen='ssh-keygen -t rsa -C "typebrook@gmail.com"' alias topo='ssh typebrook@topo.tw' alias ptt='ssh bbsu@ptt.cc' alias geothings='ssh geothings@geobingan.info' alias geothings-test='ssh geothings@test.geothings.tw' # tig alias cdt='cd ~/git/tig' alias t='tig' alias ts='tig status' alias ta='tig --all' alias get-tig='curl -LO https://github.com/typebrook/tig/releases/download/tig-2.5.0/tig' upload_tig() { upload-github-release-asset.sh \ github_api_token=$(cat ~/settings/tokens/github) \ owner=typebrook \ repo=tig \ tag=LATEST \ filename=$(which tig) overwrite=false } # Android alias debug='./gradlew app:installDebug && adb shell am start -n com.geothings.geobingan/.MainActivity_' alias adb-default='adb shell dumpsys package domain-preferred-apps' alias adb-list='adb shell dumpsys package d' alias rmcache='rm -rf ~/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/*' alias adb-last-screenshot='adb pull /sdcard/Screenshots/`adb shell ls -t /sdcard/Screenshots/ | head -1` ~/Desktop' adb_push() { adb push $1 /sdcard/Download } # curl alias co='curl -O' alias curl.code='curl -o /dev/null --silent -Iw "%{http_code}"' # python alias pip3='python3 -m pip' # gdal alias oo='ogr2ogr' alias oi='ogrinfo' alias oias='ogrinfo -al -so' # sample file alias sample-gpx='curl -O https://docs.mapbox.com/help/data/run.gpx' alias sample-geojson='curl -O https://docs.mapbox.com/help/data/stations.geojson' alias sample-geotiff='curl -O https://docs.mapbox.com/help/data/landsat.tif' alias sample-csv='curl -O https://docs.mapbox.com/help/data/airports.csv' alias sample-svg='curl -O https://docs.mapbox.com/help/data/bicycle-24.svg' alias sample-mbtiles='curl -O https://docs.mapbox.com/help/data/trails.mbtiles' alias sample-kml='curl -O https://docs.mapbox.com/help/data/farmers_markets.kml' alias sample-osm='curl https://api.openstreetmap.org/api/0.6/node/3428095932' # data file alias taiwan='curl -O http://download.geofabrik.de/asia/taiwan-latest.osm.pbf' alias data-rudymap='curl -O https://raw.githubusercontent.com/alpha-rudy/taiwan-topo/master/styles/mapsforge_style/MOI_OSM.xml' alias data-rudymap-ele='curl -O http://moi.kcwu.csie.org/osm_elevations/ele_taiwan_10_50_100_500_marker-2019.7.o5m' alias data-osm-diff="curl https://planet.openstreetmap.org/replication/minute/state.txt |\ sed -n 2p | cut -d'=' -f2 | sed -r 's/(.{1})(.{3})/00\1\/\2\//' |\ xargs -I {} echo -e https://planet.openstreetmap.org/replication/minute/'{}'.osc.gz |\ xargs curl -O" alias data-taiwan-town='curl -o town.zip -L http://data.moi.gov.tw/MoiOD/System/DownloadFile.aspx\?DATA\=CD02C824-45C5-48C8-B631-98B205A2E35A' alias data-taiwan-village='curl -o village.zip -L http://data.moi.gov.tw/MoiOD/System/DownloadFile.aspx\?DATA\=B8AF344F-B5C6-4642-AF46-1832054399CE' alias data-taiwan-poly='curl -O http://download.geofabrik.de/asia/taiwan.poly' alias data-taiwan-county-code='curl --silent https://www.ris.gov.tw/documents/data/5/1/RSCD0101.txt | iconv -f BIG-5 -t UTF-8 -' # clipboard alias xi='xsel -ib' alias xo='xsel -ob' alias xl='history | tail -1 | grep -oP "^\s*[0-9]+\s\s\K.*" | xsel -ib && xsel -ob ' alias xll='xo >> ~/vimwiki/working.md' alias xc='xsel -ob | gcc -xc -' # image image_vertical() { convert $@ -append output.png } # mail mutt alias m='mutt' # misc alias foo='echo bar > foo && echo File foo is created && ls -lh foo' alias bar='echo foo > bar && echo File bar is created && ls -lh bar' alias token="cd $SETTING_DIR/tokens && ls -lh" alias gr='_grepString' _grepString() { grep -R $1 . } alias findn='find . -iname' alias wcl='wc -l' alias x='xdg-open' alias f='free -h' alias yl='youtube-dl' alias yla='youtube-dl -x --audio-format mp3' alias editor='select-editor' alias hp='http-prompt' alias clocg='cloc --vcs=git' alias tma='tmux a' alias mm='mkvmerge -o out.webm -w 01.webm + 02.webm' alias du='ncdu' alias we='weechat' mvt_decode() { python3 $SETTING_DIR/scripts/mvt_decode.py $1 | tr \' \" | sed 's/True/true/g' | jq . } big52utf8() { iconv -f BIG-5 -t UTF-8 } # tmp alias cdo='cd ~/git/openmaptiles' alias cdS='cd ~/git/StreetComplete' alias cdW='cd ~/git/geoBingAnWeb' alias and='cd ~/git/geoBingAn.Android' alias cdT='cd ~/git/taiwan-topo' alias cdand='cd ~/git/sample' alias cdm='cd ~/git/sharkbig.github.io/rescue' alias cdmw='cd ~/git/sharkbig.github.io/.github/workflows' GITHUB_API='https://api.github.com'