-
Notifications
You must be signed in to change notification settings - Fork 0
/
.aliases
348 lines (294 loc) · 15.2 KB
/
.aliases
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
#!/usr/bin/env bash
# not required for sourced files here but used so we can run shellcheck on the file
alias cloud='cd "$CLOUD"'
alias cld='cd "$CLOUD"'
alias rcc_root='cd "$RCC_ROOT"'
alias rcm_root='cd "$RCM_ROOT"'
alias rcc_my='cd "$RCC_MY"'
alias rcm_my='cd "$RCM_MY"'
alias rcc_shared='cd "$RCC_SHARED"'
alias rcm_shared='cd "$RCM_SHARED"'
# Reload edits to .bashrc
alias sb='clear && source ~/.bash_profile'
# refreshs for users of homebrew and one for homebrew and neovim nightly
alias brewup='brew upgrade';
alias n='nvim'
alias tm='tmux'
alias tmls='tmux ls'
alias tma='tmux attach -t'
alias tmh='echo https://tmuxcheatsheet.com/ https://github.com/tmux/tmux/wiki'
alias tms='tmux new -s'
alias tx='tmuxifier'
alias txls='tmuxifier list-sessions'
alias txlw='tmuxifier list-windows'
alias txla='tmuxifier list'
# lazygit
alias lg='lazygit'
alias configDotFiles='tx s configDotFiles'
# configDotFiles repo like https://www.atlassian.com/git/tutorials/dotfiles
alias config='$CONFIG_DOT_FILES_GIT_COMMAND';
alias cfg='$CONFIG_DOT_FILES_GIT_COMMAND';
alias cfgamend='echo "cfg commit --amend -S -m"; cfg commit --amend -S -m';
alias cfgb='cp ~/.extra ~/backup.extra';
alias cfgf='echo "Stop tracking .extra file"; config refresh-index --assume-unchanged .extra' # cfg forget .extra
alias cfgl='echo "\$CONFIG_DOT_FILES_GIT_COMMAND log --oneline"; cfg log --oneline' # try adding -10 or -5 for last few
alias cfgls='cfg ls-tree --full-tree -r --name-only HEAD' #list files in cconfigDotFiles repo
alias cfgs='echo "\$CONFIG_DOT_FILES_GIT_COMMAND status"; cfg status'
alias cfgd='echo "\$CONFIG_DOT_FILES_GIT_COMMAND diff"; cfg diff'
alias cfgc='echo "\$CONFIG_DOT_FILES_GIT_COMMAND commit -S -m"; cfg commit -S -m'
alias configlg='echo "config log graph (run type or decode on configlg for more)"; $CONFIG_DOT_FILES_GIT_COMMAND --no-pager log --graph --pretty=oneline --abbrev-commit --decorate --all'
alias cfglg='echo "config log graph (run type or decode on configlg for more)"; $CONFIG_DOT_FILES_GIT_COMMAND --no-pager log --graph --pretty=oneline --abbrev-commit --decorate --all'
alias cfgu='echo "Stage changes to tracked cfg dot files"; cfg add --refresh';
# configDotFiles install script help
# you can use this to also remove files and prepare for reinstall as you like
# please read the .cfg_README.adoc
alias cfgInstallScript='bash <(curl -sSf https://raw.githubusercontent.com/rudimusmaximus/configDotFiles/refs/heads/main/.cfg_install.sh)'
# opens quicklook debugger to render a ql server and show a file
alias ql='qlmanage -p '
# quicklook a README.pdf if present
alias qlr='qlmanage -p README.pdf'
# Grep given phrase for returns from alias command (simarlarly you can also say 'type aliasName or functionName')
alias decode='alias | grep';
# Makes any stated .asciidoc or .adoc file into a pdf
alias mkpdf='asciidoctor-pdf'
# make a pdf from README.adoc if present
alias mkpdfr='asciidoctor-pdf README.adoc'
# Fills Types directory from root of project with typescript declarations; assumes correct tsconfig and other config ready
alias mktypes='echo "pnpm tsc --noEmit false --emitDeclarationOnly true"; pnpm tsc --noEmit false --emitDeclarationOnly true'
# open lightweight Webstorm editor
alias we="webstorm -e"
alias gpgl='echo "gpg --list-secret-keys --keyid-format LONG"; gpg --list-secret-keys --keyid-format LONG'
# Easier navigation: .., ..., ...., ....., ~ and -
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
alias ~=go_home # see .functions
alias -- -='echo "Now in previous location via cd -"; cd -' # back to previous directory
# SHORTCUTS
alias x="exit"
alias npx="npm exec"
alias zl="zellij --layout "
# Directly open a file in chrome based browser good for when you have a special pluggin to read like adoc/asciidoc
alias oc='open -a "Google Chrome"' # avoids having to convert to pdf for example
alias ocr='open -a "Google Chrome" README.adoc'
alias ot='open -a "Thorium"' # avoids having to convert to pdf for example
alias otr='open -a "Thorium" README.adoc'
alias ob='open -a "Brave Browser"' # avoids having to convert to pdf for example
alias obr='open -a "Brave Browser" README.adoc'
# in sublime text > View > syntax > bash to set highlighting; also test with shellcheck each file
alias ost='open -a "Sublime Text"'
alias vd='echo "vimdiff opening...use :qa to quit all/close the editor"; vimdiff'
#alias d="cd ~/Documents/Dropbox"
alias dl="cd ~/Downloads"
alias dt="cd ~/Desktop"
alias p="cd ~/projects"
alias s="cd ~/Library/Application\ Support/JetBrains/WebStorm2022.1/scratches/"
alias e="edgedb"
alias g="git"
alias ga="git add"
alias gall='echo "Stage all new, modified, and deleted files in the current directory and all sub directories."; git add .'
alias gc="git commit -S -m"
alias gctemplate="cat ~/.gitmessage.txt"
alias gd="git diff"
alias gf="git fetch"
alias gl="git log --oneline"
alias glg='/usr/bin/git --no-pager log --graph --pretty=oneline --abbrev-commit --decorate --all'
alias gls='git ls-tree --full-tree -r --name-only HEAD' # list files in this project
alias gP="git push"
alias gp="git pull"
alias gs="git status"
alias gt="git tag -l -n1"
alias gu='echo "Stage changes to tracked repository files (ignores new files)."; git add --refresh'
alias c="clear"
#n special script shortcuts for manual install, refresh, removal of n
alias nup="n-refresh -y"
#npm shortcuts
alias appcheck="bx npm-check --refresh"
alias appup="ncu --interactive --format group" # great list of updates grouped by patch, minor, major (DON'T use npm updates) see bun update or outdated
#nnn shortcuts
alias f="nnn" #start The unorthodox terminal file manager
#ddgr Duck Duck Go shortcuts for bangs
alias ddg="ddgr -n 7"
alias google="ddgr --gb --np \!google"
alias wikipedia="ddgr --gb --np \!w"
#clasp shortcuts
alias cpush="echo 'Did you mean to bun run push with the prepush package scripts? OR If you meant clasp push alone, then enter that.'"
alias copen="clasp open"
# TODO test simplified color on linux, return to use of LSCOLORS
# see also https://www.cyberciti.biz/faq/apple-mac-osx-terminal-color-ls-output-option/
# -G doesn't seem to need export CLICOLOR=1
# Detect which `ls` flavor is in use
# if ls --color > /dev/null 2>&1; then # GNU `ls`
# colorflag="--color"
# export LS_COLORS='no=00:fi=00:di=01;31:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35:*.wav=01;35:'
# else # macOS `ls`
# colorflag="-G"
# export LSCOLORS='BxBxhxDxfxhxhxhxhxcxcx'
# fi
alias ls='ls -G' # enable color everywhere we use ls
alias l=list # function call to list color long
alias ll='echo "ls in color -laF"; ls -laF'
alias la='echo "ls in color -a"; ls -a'
## List all files colorized in long format, excluding . and ..
#alias la="ls -lAF ${colorflag}"
# List only directories
alias lsd="ls -d -- */"
alias lsda='ls -d -- */ .[^.]*/'
alias llsd='ls -lF | grep --color=never "^d"'
# Always enable colored `grep` output
# Note: `GREP_OPTIONS="--color=auto"` is deprecated, hence the alias usage.
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
# Enable aliases to be sudo’ed
alias sudo='sudo '
# Get week number
alias week='date +%V'
# make working with package.json version and semver easier (all will copy result of action to clipboard)
alias bls='bun pm ls'
alias blsg='bun pm ls --global'
alias spj='sort-package-json'
alias fr='findAndReplaceBsd'
alias frf='findAndReplaceBsdF'
### Get macOS Software refreshs, and update installed Ruby gems, Homebrew, npm, and their installed packages
##alias refresh='sudo softwareupdate -i -a; brew update; brew upgrade; brew cleanup; npm install npm -g; npm update -g; sudo gem update --system; sudo gem update; sudo gem cleanup'
#
## Google Chrome
#alias chrome='/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome'
#alias canary='/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary'
#
## IP addresses
#alias ip="dig +short myip.opendns.com @resolver1.opendns.com"
#alias localip="ipconfig getifaddr en0"
#alias ips="ifconfig -a | grep -o 'inet6\? \(addr:\)\?\s\?\(\(\([0-9]\+\.\)\{3\}[0-9]\+\)\|[a-fA-F0-9:]\+\)' | awk '{ sub(/inet6? (addr:)? ?/, \"\"); print }'"
#
## Show active network interfaces
#alias ifactive="ifconfig | pcregrep -M -o '^[^\t:]+:([^\n]|\n\t)*status: active'"
#
## Flush Directory Service cache
#alias flush="dscacheutil -flushcache && killall -HUP mDNSResponder"
#
## Clean up LaunchServices to remove duplicates in the “Open With” menu
#alias lscleanup="/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user && killall Finder"
#
## Canonical hex dump; some systems have this symlinked
#command -v hd > /dev/null || alias hd="hexdump -C"
#
## macOS has no `md5sum`, so use `md5` as a fallback
#command -v md5sum > /dev/null || alias md5sum="md5"
#
## macOS has no `sha1sum`, so use `shasum` as a fallback
#command -v sha1sum > /dev/null || alias sha1sum="shasum"
#
## JavaScriptCore REPL
#jscbin="/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc";
#[ -e "${jscbin}" ] && alias jsc="${jscbin}";
#unset jscbin;
#
## Trim new lines and copy to clipboard
#alias c="tr -d '\n' | pbcopy"
#
## Recursively delete `.DS_Store` files
#alias cleanup="find . -type f -name '*.DS_Store' -ls -delete"
#
## Empty the Trash on all mounted volumes and the main HDD.
## Also, clear Apple’s System Logs to improve shell startup speed.
## Finally, clear download history from quarantine. https://mths.be/bum
#alias emptytrash="sudo rm -rfv /Volumes/*/.Trashes; sudo rm -rfv ~/.Trash; sudo rm -rfv /private/var/log/asl/*.asl; sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'delete from LSQuarantineEvent'"
#TODO: test using these .aliases overtime
# Show/hide hidden files in Finder
alias show="defaults write com.apple.finder AppleShowAllFiles -bool true && killall Finder"
alias hide="defaults write com.apple.finder AppleShowAllFiles -bool false && killall Finder"
# Hide/show all desktop icons (useful when presenting)
alias hidedesktop="defaults write com.apple.finder CreateDesktop -bool false && killall Finder"
alias showdesktop="defaults write com.apple.finder CreateDesktop -bool true && killall Finder"
## URL-encode strings
#alias urlencode='python -c "import sys, urllib as ul; print ul.quote_plus(sys.argv[1]);"'
#
## Merge PDF files, preserving hyperlinks
## Usage: `mergepdf input{1,2,3}.pdf`
#alias mergepdf='gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=_merged.pdf'
## Disable Spotlight
#alias spotoff="sudo mdutil -a -i off"
## Enable Spotlight
#alias spoton="sudo mdutil -a -i on"
#
## PlistBuddy alias, because sometimes `defaults` just doesn’t cut it
#alias plistbuddy="/usr/libexec/PlistBuddy"
#
## Airport CLI alias
#alias airport='/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport'
#
## Intuitive map function
## For example, to list all directories that contain a certain file:
## find . -name .gitattributes | map dirname
#alias map="xargs -n1"
#
## One of @janmoesen’s ProTip™s
#for method in GET HEAD POST PUT DELETE TRACE OPTIONS; do
# alias "${method}"="lwp-request -m '${method}'"
#done
#
## Stuff I never really use but cannot delete either because of http://xkcd.com/530/
#alias stfu="osascript -e 'set volume output muted true'"
#alias pumpitup="osascript -e 'set volume output volume 100'"
#
## Kill all the tabs in Chrome to free up memory
## [C] explained: http://www.commandlinefu.com/commands/view/402/exclude-grep-from-your-grepped-output-of-ps-alias-included-in-description
#alias chromekill="ps ux | grep '[C]hrome Helper --type=renderer' | grep -v extension-process | tr -s ' ' | cut -d ' ' -f2 | xargs kill"
#
## Lock the screen (when going AFK)
#alias afk="/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend"
#
## Reload the shell (i.e. invoke as a login shell)
#alias reload="exec ${SHELL} -l"
# Print each PATH entry on a separate line
alias path='echo -e ${PATH//:/\\n}'
# Other
alias now='date +"%T"'
alias cl='curl -L'
# Recursively answer yes while removing
alias rmALL='yes | rm -rv '
alias pn="pnpm"
# log into github's npm package manager
alias pnLogin='pnpm login --registry=https://npm.pkg.github.com'
# if installed standalone, removes global and store; likely must rebuild projects relying on the links
alias pnUNINSTALL='rm -rf $PNPM_HOME'
# install standalone - On POSIX systems, you may install pnpm even if you don't have Node.js installed, using the following script
alias pnINSTALL='curl -fsSL https://get.pnpm.io/install.sh | sh -'
alias pnUPGRADE='pnpm add -g pnpm';
alias px="pnpm dlx"
alias pnl='echo "pnpm ls"; pnpm ls'
alias pnlg='echo "pnpm ls -g"; pnpm ls -g'
# open nvim from my nvim-config repo where i might be trying out something (does not effect next nvim open)
alias nvimConfig='NVIM_APPNAME=nvim-config nvim'
alias db='echo "edgedb"; edgedb'
# inspect what a npm published package will include
alias mktar='tar xf $(npm pack) && tar -xf $(ls *.tgz) --directory ~/Downloads/ && mv $(ls *.tgz) ~/Downloads/'
# expected svelt kit script run from pnpm which node not requiare run word; command expects build already
alias pv='pnpm preview'
# runs local expected npm run script 'build' using pnpm could also call 'pn build'
alias pb='pnpm build'
alias oc='open -a "Google Chrome"'
# for raspberry pi os (starting with out 3b+)
alias picheck='vcgencmd version; vcgencmd get_throttled; vcgencmd measure_volts; vcgencmd measure_temp; vcgencmd get_mem arm; vcgencmd get_mem gpu'
# Bun.sh aliases
# bun aliases see bun.sh to install as bun must be available to run these
# note we no longer need 'run' files seeded into the root of our projects
# use br without -b to run in node env (like for svelte dev) and use brb
# to specify staying in bun runtime
alias b='bun' # simple without br options so can run a package script with just b plusNameOfScript
alias br='bun run'
alias brb='bun -b run'
alias bx='bunx --bun'
# package.json aliases
alias package="(echo 'import data from \"./package.json\"; console.log({[\"from ./package.json\"]: data});' > temp.js && br temp.js && rm temp.js)"
alias project="(echo 'import data from \"./package.json\"; console.log({name: data.name, version: data.version, description: data.description, scripts: Object.keys(data.scripts)});' > temp.js && br temp.js && rm temp.js)"
alias scripts="(echo 'import data from \"./package.json\"; console.log({scripts: Object.keys(data.scripts)});' > temp.js && br temp.js && rm temp.js)"
alias recent='bun -b run ~/.bun_scripts/list_most_recent_files.mjs'
# helper for keymaps related to completion in nvim and fzf usage in the terminal
alias keymapsfuzzy='bun -b run ~/.bun_scripts/list_keymap_tips_fuzzy.mjs'
# manage asdf neovim versions
alias refresh-nvim-stable='asdf uninstall neovim stable && asdf install neovim stable'
alias refresh-nvim-nightly='asdf uninstall neovim nightly && asdf install neovim nightly'