mirror of
https://codeberg.org/vlw/dotfiles.git
synced 2025-09-13 19:03:40 +02:00
102 lines
No EOL
2.3 KiB
Bash
102 lines
No EOL
2.3 KiB
Bash
# Make dir and cd into it
|
|
mkcdir () {
|
|
mkdir -p -- "$1" && cd -P -- "$1"
|
|
}
|
|
|
|
# Preview contents of a file or list the contents of a directory
|
|
l () {
|
|
if [ -f "$1" ] ; then
|
|
less $1
|
|
return
|
|
fi
|
|
|
|
ls -lh $1 || l $(dirname "$1")
|
|
}
|
|
|
|
# Preview the contents of a file or list the contents of a directory with hidden files shown
|
|
ll () {
|
|
if [ -f "$1" ] ; then
|
|
less $1
|
|
return
|
|
fi
|
|
|
|
ls -lah $1 || ll $(dirname "$1")
|
|
}
|
|
|
|
# Edit the contents of a file or list the contents of a directory (with hidden files shown) if that file is not found
|
|
lll () {
|
|
if [ -f "$1" ] ; then
|
|
nano $1
|
|
return
|
|
fi
|
|
|
|
ls -lah $1 || lll $(dirname "$1")
|
|
}
|
|
|
|
.. () {
|
|
cd .. && l
|
|
}
|
|
|
|
cdl () {
|
|
cd -P -- "$1" && l
|
|
}
|
|
|
|
cdll () {
|
|
cp -P -- "$1" && ll
|
|
}
|
|
|
|
# Short-hands for various git functions
|
|
gitf () {
|
|
case "$1" in
|
|
# Stage all changes and fall through to WIP commit
|
|
"aw")
|
|
git add .
|
|
gitf w
|
|
;;
|
|
|
|
# Clear local branches that have no upstream on remote (cleanup)
|
|
"c")
|
|
git fetch -p && git branch -vv | awk '/: gone]/{print $1}' | xargs git branch -D
|
|
;;
|
|
|
|
# Pull current branch from a remote (defaults to "origin"). "d" for download.
|
|
"d")
|
|
local remote="${2:-origin}"
|
|
|
|
git pull "$remote" $(git rev-parse --abbrev-ref HEAD)
|
|
;;
|
|
|
|
# Push commited changes (current branch) to a remote (defaults to "origin"). "u" for upload.
|
|
"u")
|
|
local remote="${2:-origin}"
|
|
|
|
git push --set-upstream "$remote" $(git rev-parse --abbrev-ref HEAD)
|
|
;;
|
|
|
|
# Create a git "Work in Progress" commit with timestamps
|
|
"w")
|
|
git commit -m "wip: $(date +%Y-%m-%dT%H:%M:%S%z) ($(date +%s))"
|
|
;;
|
|
|
|
*)
|
|
git status
|
|
;;
|
|
esac
|
|
}
|
|
|
|
# SSH to machine in debug mode at local.vlw.se
|
|
sshl () {
|
|
# Set login name from first argument or default to current user
|
|
local user="${1:-$(whoami)}"
|
|
|
|
ssh -p 2222 "$user"@local.vlw.se
|
|
}
|
|
|
|
# Generate random 16byte HEX
|
|
alias rng16="head -c 16 /dev/random | xxd -p"
|
|
|
|
# Kill VSCode processes
|
|
alias killvscode="ps uxa | grep .vscode-server | awk '{print $2}' | xargs kill -9"
|
|
|
|
# Change PHP CLI binary
|
|
alias chphp="sudo update-alternatives --config php" |