This repository has been archived on 2024-03-28. You can view files and clone it, but cannot push or open issues or pull requests.
dotfiles/apps/shell/fish/aliases.fish

168 lines
4.3 KiB
Fish
Raw Normal View History

2020-01-16 17:01:59 -06:00
#!/usr/bin/env fish
# ls aliases
alias lk 'ls -lSr' # order by filesize reversed
alias lt 'ls -ltr' # order by file modified time
alias lc 'ls -ltcr' # order by filectime
alias lu 'ls -ltur' # order by file access time
alias ls 'ls -h --color --group-directories-first' # flat view w/ directories first
alias l 'ls -h --color --group-directories-first' # same as above
alias ll 'ls -lv --group-directories-first' # non-flat view
alias la 'll -A' # show all
# other file aliases
alias tree 'tree -Csuh'
alias f fzf
2020-11-05 21:13:39 -06:00
alias rcp 'rsync -ah --progress'
2020-01-16 17:01:59 -06:00
2020-11-05 21:13:39 -06:00
function ltl --description 'Echoes the newest file in the specified directory (or current directory if none is given)'
2020-01-16 17:01:59 -06:00
set d $argv[1] .
set -l l ""
for f in $d[1]/*
if test -z $l; set l $f; continue; end
if command test $f -nt $l; and test ! -d $f
set l $f
end
end
echo $l
end
function scount -d "Silent count" -w count
count $argv > /dev/null
end
2020-11-05 21:13:39 -06:00
function ltld --description 'Echoes the newest subdirectory in the specified directory (or current directory if none is given)'
2020-01-16 17:01:59 -06:00
set d $argv[1] .
set -l l ""
for f in $d[1]/*
if test -z $l; set l $f; continue; end
if command test $f -nt $l; and test -d $f
set l $f
end
end
echo $l
end
2020-11-05 21:13:39 -06:00
alias vltl "$EDITOR (ltl)"
2020-01-16 17:01:59 -06:00
alias cdltl "cd (ltld)"
2020-11-05 21:13:39 -06:00
function d -w cd --description "Quickly jump to NICE_HOME (or given dir) and show files."
if scount $argv
cd $argv || exit 1
2020-01-16 17:01:59 -06:00
else
cd $NICE_HOME || exit 1
end
la
2020-01-16 17:01:59 -06:00
end
# navigation aliases
2020-11-05 21:13:39 -06:00
function c -w cd --description "Quickly jump to a subdirectory of NICE_HOME (or just to NICE_HOME if none given)"
if scount $argv
cd $NICE_HOME && d $argv || exit 1
else
d $NICE_HOME
end
end
alias cd.. "d .."
alias cdd "d $DOTFILES_PATH" # go to dotfiles
alias cde "d $ENV_PATH" # go to env dotfiles
alias cdc "d $XDG_CONFIG_HOME" # go to ~/.config
alias cdn "d $NOTES_PATH"
2020-11-05 21:13:39 -06:00
alias cdl "d $XDG_DOWNLOAD_DIR"
alias cdg "d $XDG_GAMES_DIR"
2020-01-16 17:01:59 -06:00
# quick parent-directory aliases
alias .. "d .."
alias ... "d ../.."
alias .... "d ../../.."
alias ..... "d ../../../.."
alias ...... "d ../../../../.."
alias ....... "d ../../../../../.."
alias ........ "d ../../../../../../.."
alias ......... "d ../../../../../../../.."
2020-01-16 17:01:59 -06:00
# tmux aliases
alias tmnew "tmux new -s"
2020-05-18 15:34:35 -05:00
alias tmls "tmux list-sessions | rg --color never -o '^(.*?):.*?\(.*?\)(.*)\$' -r '\$1\$2'"
2020-01-16 17:01:59 -06:00
alias tmatt "tmux attach -t"
2020-11-05 21:13:39 -06:00
alias tms "tmatt (tmls | fzf | field 1)"
function tmux-attach-or-new
tmux attach -t $argv || tmux new -s $argv
end
alias tu "tmux-attach-or-new utils"
alias tmon "tmux-attach-or-new monitoring"
alias tcom "tmux-attach-or-new comms"
alias tm "tmux-attach-or-new music"
2020-01-16 17:01:59 -06:00
alias tdf "tmux attach -t dotfiles || tmux new -s dotfiles -c $DOTFILES_PATH"
alias tn "tmux attach -t notes || tmux new -s notes -c $NOTES_PATH"
# git aliases
# TODO: make these git aliases in the gitconfig?
function g
if scount $argv
2020-01-16 17:01:59 -06:00
git $argv
else
git status
end
end
alias gs "git status"
2020-02-12 11:13:46 -06:00
alias gd "git diff"
2020-02-12 09:46:01 -06:00
alias gds "gd --staged"
2020-01-16 17:01:59 -06:00
# alias gdv "git dv" # TODO: what is this?
alias gpl "git pull"
2020-03-06 15:43:01 -06:00
alias ga "git add"
alias gcm "git commit -m"
alias gco "git checkout"
2020-01-16 17:01:59 -06:00
alias gp "git push"
alias gpa "git push --all && git push --tags"
alias gpt "git push && git push --tags"
alias gpf "git push --force-with-lease"
alias gac "git add -A && git commit"
alias gacnv "git add -A && git commit --no-verify"
alias gsur "git submodule update --remote"
alias glf "git ls-files"
alias gl "git log --pretty=format:\"%h %ad%x09%an%x09%s\" --date=short"
# docker aliases
alias dlf "docker logs --tail=500 -f"
alias dclf "docker-compose logs --tail=500 -f"
alias ctop "docker run --rm -ti -v /var/run/docker.sock:/var/run/docker.sock quay.io/vektorlab/ctop:latest"
# misc aliases
2020-03-06 15:43:01 -06:00
function pp
while not ping -n 1 -t 5 8.8.8.8
sleep 1
end
end
2020-01-16 17:01:59 -06:00
alias p "ping 8.8.8.8"
alias C "clear && clear"
alias r "ranger"
alias sctl "sudo systemctl"
alias sctlu "systemctl --user"
alias bt "sudo bluetoothctl"
alias btctl "bt"
2020-01-20 10:49:06 -06:00
alias resrc "source $XDG_CONFIG_HOME/fish/config.fish"
2020-01-16 17:01:59 -06:00
alias sc "sc-im"
alias scs "sc-im $NOTES_PATH/_scratch.sc"
alias disks "lsblk && df -h"
alias dd "dd status=progress"
alias wifi "sudo nmtui"
alias year 'cal (date +%Y)'
2020-01-20 14:01:06 -06:00
alias pa pulsemixer
2020-01-16 17:01:59 -06:00
# weechat aliases
function chat
2020-01-20 09:12:52 -06:00
set -l pass (pass config/weechat-passphrase | head -n 1)
2020-01-22 17:25:47 -06:00
env WEECHAT_PASSPHRASE=$pass weechat
2020-01-16 17:01:59 -06:00
end
2020-04-21 16:38:58 -05:00
2020-07-02 11:17:42 -05:00
function rgl
# ripgrep | less
rg --color always $argv | less -r
end
2020-04-21 16:38:58 -05:00
# grep aliases
alias rg "rg --text"
alias grep "rg"