aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/.config/zsh/shortcuts
blob: 63343cef56c918d4b91fc82759d69966a984d67b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#!/bin/sh

# Some aliases
alias v="nvim"
alias abook="abook -C $HOME/.config/abook/abookrc --datafile $HOME/docs/data/contacts/addressbook"
alias ls="ls -hN --color=auto --group-directories-first"
alias units="units -H ''"
alias trans="trans -v -pager='less -R'"
alias lsdp="swaymsg -pt get_outputs | less"
alias op="xdg-open"
alias drag="dragon-drop"
wintitle() { printf "\033]2;%s\a" "$1";}
sass-watch() {
  while inotifywait -q -e create -e modify sass; do 
    sassc $1 $2
  done
}

# Generic shortcuts
alias music="ncmpcpp"
alias news="newsboat && killall -42 waybar"
alias audio="ncpamixer"
alias calc="python -q -i -c 'import math'"
alias spw="setsid $TERMINAL >/dev/null 2>&1 &"
alias testinet="ping -c2 example.com"
alias past="wl-paste -n"
alias ppast="wl-paste -pn"

# rsync shortcuts
alias rs="rsync -avhH"
alias rsn="rsync -avhHn"
alias rsd="rsync -avhH --delete"
alias rsdn="rsync -avhHn --delete"
alias rsg="rsync -avhH --delete --filter=':- .gitignore'"
alias rsgn="rsync -avhHn --delete --filter=':- .gitignore'"

# Fuzzy finder
if [ -f /usr/share/fzf/completion.zsh ]; then
	# Arch/Artix
	. /usr/share/fzf/completion.zsh
elif [ -f /usr/share/doc/fzf/examples/completion.zsh ]; then
	# Debian
	. /usr/share/doc/fzf/examples/completion.zsh
fi
if [ -f /usr/share/fzf/key-bindings.zsh ]; then
	# Arch/Artix
	. /usr/share/fzf/key-bindings.zsh
elif [ -f /usr/share/doc/fzf/examples/key-bindings.zsh ]; then
	# Debian
	. /usr/share/doc/fzf/examples/key-bindings.zsh
fi
bindkey -r '^T'
bindkey -r '\ec'
bindkey '^F' fzf-file-widget
bindkey '^A' fzf-cd-widget

# Function for changing working dir after exiting lf
lfcd () {
    tmp="$(mktemp)"
    lf -last-dir-path="$tmp" "$@"
    if [ -f "$tmp" ]; then
        dir="$(cat "$tmp")"
        rm -f "$tmp"
        if [ -d "$dir" ]; then
            if [ "$dir" != "$(pwd)" ]; then
                cd "$dir"
            fi
        fi
    fi
}

# Some keybindings
bindkey -s '^o' 'lfcd\n'
bindkey -s '^t' 'spw\n'

# Mounting drive shortcuts
alias mnt="udisksctl mount -b"
alias umnt="udisksctl unmount -b"
alias dlock="udisksctl lock -b"
alias dulock="udisksctl unlock -b"

# Internet
alias yt="youtube-dl --add-metadata -ic" # Download video link
alias yta="youtube-dl --add-metadata -xic" # Download only audio
alias YT="youtube-viewer"
alias starwars="telnet towel.blinkenlights.nl"

# git
gitcc () {
	git clone "$(wl-paste --no-newline)"
}

# Audio
alias mute="lmc mute"
alias vu="lmc up 5"
alias vd="lmc down 5"

[ -f "$XDG_CONFIG_HOME/zsh/private" ] && . "$XDG_CONFIG_HOME/zsh/private"