add zsh config
This commit is contained in:
		
							
								
								
									
										66
									
								
								home/default/.config/shell/aliasrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								home/default/.config/shell/aliasrc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,66 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Use neovim for vim if present.
 | 
				
			||||||
 | 
					[ -x "$(command -v nvim)" ] && alias vim="nvim" vimdiff="nvim -d"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Use $XINITRC variable if file exists.
 | 
				
			||||||
 | 
					[ -f "$XINITRC" ] && alias startx="startx $XINITRC"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# sudo not required for some system commands
 | 
				
			||||||
 | 
					for command in mount umount sv pacman updatedb su shutdown poweroff reboot ; do
 | 
				
			||||||
 | 
						alias $command="sudo $command"
 | 
				
			||||||
 | 
					done; unset command
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					se() { cd ~/.local/bin; $EDITOR $(fzf) ;}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Verbosity and settings that you pretty much just always are going to want.
 | 
				
			||||||
 | 
					alias \
 | 
				
			||||||
 | 
						cp="cp -iv" \
 | 
				
			||||||
 | 
						mv="mv -iv" \
 | 
				
			||||||
 | 
						rm="rm -vI" \
 | 
				
			||||||
 | 
						bc="bc -ql" \
 | 
				
			||||||
 | 
						pg="ps -aux | grep --color=auto" \
 | 
				
			||||||
 | 
						mkd="mkdir -pv" \
 | 
				
			||||||
 | 
						ffmpeg="ffmpeg -hide_banner"
 | 
				
			||||||
 | 
						wedit(){
 | 
				
			||||||
 | 
					which $@ >/dev/null 2>&1 && [ -n "$1" ] && vim $(which $@) && exit 0
 | 
				
			||||||
 | 
					printf "file doesn't exist.\n"
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Colorize commands when possible.
 | 
				
			||||||
 | 
					alias \
 | 
				
			||||||
 | 
						ls="ls -hN --color=auto --group-directories-first" \
 | 
				
			||||||
 | 
						grep="grep --color=auto" \
 | 
				
			||||||
 | 
						diff="diff --color=auto" \
 | 
				
			||||||
 | 
						ccat="highlight --out-format=ansi" \
 | 
				
			||||||
 | 
						ip="ip -color=auto"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# These common commands are just too long! Abbreviate them.
 | 
				
			||||||
 | 
					alias \
 | 
				
			||||||
 | 
						ka="killall" \
 | 
				
			||||||
 | 
						g="git" \
 | 
				
			||||||
 | 
						sdn="shutdown -h now" \
 | 
				
			||||||
 | 
						e="$EDITOR" \
 | 
				
			||||||
 | 
						v="nvim" \
 | 
				
			||||||
 | 
						z="zathura" \
 | 
				
			||||||
 | 
						i="nsxiv -a"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alias \
 | 
				
			||||||
 | 
						magit="nvim -c MagitOnly" \
 | 
				
			||||||
 | 
						ref="shortcuts >/dev/null; source ${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc ; source ${XDG_CONFIG_HOME:-$HOME/.config}/shell/zshnameddirrc" \
 | 
				
			||||||
 | 
						weath="curl wttr.in"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# misc
 | 
				
			||||||
 | 
					alias \
 | 
				
			||||||
 | 
						ytmus="yt-dlp --embed-metadata --embed-thumbnail -xc -f bestaudio/best --restrict-filenames" \
 | 
				
			||||||
 | 
						ytvid="yt-dlp --embed-metadata --embed-thumbnail --embed-chapters --write-auto-subs -f bestvideo'[height<=1080]''[ext=mp4]'+bestaudio'[ext=m4a]'/best'[ext=mp4]'/best" \
 | 
				
			||||||
 | 
						t="todo.sh -t -d $HOME/notebook/todo/todo.cfg" \
 | 
				
			||||||
 | 
						fj="firejail --profile=$HOME/.config/firejail/game.profile" \
 | 
				
			||||||
 | 
						dj="dijo"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# ytfzf
 | 
				
			||||||
 | 
					alias \
 | 
				
			||||||
 | 
						ytfzf="ytfzf --thumb-viewer=imv" \
 | 
				
			||||||
 | 
						ytfzf-video="ytfzf --detach -t" \
 | 
				
			||||||
 | 
						ytfzf-audio="ytfzf -m" \
 | 
				
			||||||
 | 
						ytfzf-history="ytfzf --detach -H"
 | 
				
			||||||
							
								
								
									
										14
									
								
								home/default/.config/shell/bm-dirs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								home/default/.config/shell/bm-dirs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					# You can add comments to these files with #
 | 
				
			||||||
 | 
					cac ${XDG_CACHE_HOME:-$HOME/.cache}
 | 
				
			||||||
 | 
					cf  ${XDG_CONFIG_HOME:-$HOME/.config}
 | 
				
			||||||
 | 
					D   ${XDG_DOWNLOAD_DIR:-$HOME/Downloads}
 | 
				
			||||||
 | 
					d   ${XDG_DOCUMENTS_DIR:-$HOME/Documents}
 | 
				
			||||||
 | 
					dt  ${XDG_DATA_HOME:-$HOME/.local/share}
 | 
				
			||||||
 | 
					rr  $HOME/.local/src
 | 
				
			||||||
 | 
					h   $HOME
 | 
				
			||||||
 | 
					m   ${XDG_MUSIC_DIR:-$HOME/Music}
 | 
				
			||||||
 | 
					mn  /mnt
 | 
				
			||||||
 | 
					pp  ${XDG_PICTURES_DIR:-$HOME/Pictures}
 | 
				
			||||||
 | 
					sc  $HOME/.local/bin
 | 
				
			||||||
 | 
					src $HOME/.local/src
 | 
				
			||||||
 | 
					vv  ${XDG_VIDEOS_DIR:-$HOME/Videos}
 | 
				
			||||||
							
								
								
									
										20
									
								
								home/default/.config/shell/bm-files
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								home/default/.config/shell/bm-files
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					# keys	filename				description
 | 
				
			||||||
 | 
					bf	${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-files	# This file, a list of bookmarked files
 | 
				
			||||||
 | 
					bd	${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs		# A list of bookmarked directories similar to this file
 | 
				
			||||||
 | 
					cfx	${XDG_CONFIG_HOME:-$HOME/.config}/x11/xresources	# Colors, themes and variables for X11
 | 
				
			||||||
 | 
					cfs ${XDG_CONFIG_HOME:-$HOME/.config}/sway/config
 | 
				
			||||||
 | 
					cfb ${XDG_CONFIG_HOME:-$HOME/.config}/waybar/config
 | 
				
			||||||
 | 
					cfB ${XDG_CONFIG_HOME:-$HOME/.config}/waybar/style.css
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cfv	${XDG_CONFIG_HOME:-$HOME/.config}/nvim/init.vim		# vim/neovim config
 | 
				
			||||||
 | 
					cfz	$ZDOTDIR/.zshrc						# zsh (shell) config
 | 
				
			||||||
 | 
					cfa	${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc		# aliases used by zsh (and potentially other shells)
 | 
				
			||||||
 | 
					cfp	${XDG_CONFIG_HOME:-$HOME/.config}/shell/profile		# profile file for login settings for zsh
 | 
				
			||||||
 | 
					cfm	${XDG_CONFIG_HOME:-$HOME/.config}/mutt/muttrc		# mutt (email client) config
 | 
				
			||||||
 | 
					cfn	${XDG_CONFIG_HOME:-$HOME/.config}/newsboat/config	# newsboat (RSS reader)
 | 
				
			||||||
 | 
					cfu	${XDG_CONFIG_HOME:-$HOME/.config}/newsboat/urls		# RSS urls for newsboat
 | 
				
			||||||
 | 
					cfmb	${XDG_CONFIG_HOME:-$HOME/.config}/ncmpcpp/bindings	# ncmpcpp (music player) keybinds file
 | 
				
			||||||
 | 
					cfmc	${XDG_CONFIG_HOME:-$HOME/.config}/ncmpcpp/config	# ncmpcpp (music player) config
 | 
				
			||||||
 | 
					cfl	${XDG_CONFIG_HOME:-$HOME/.config}/lf/lfrc		# lf (file browser) config
 | 
				
			||||||
 | 
					cfL	${XDG_CONFIG_HOME:-$HOME/.config}/lf/scope		# lf's scope/preview file
 | 
				
			||||||
 | 
					cfX	${XDG_CONFIG_HOME:-$HOME/.config}/nsxiv/exec/key-handler	# sxiv (image viewer) key/script handler
 | 
				
			||||||
							
								
								
									
										19
									
								
								home/default/.config/shell/inputrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								home/default/.config/shell/inputrc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					$include /etc/inputrc
 | 
				
			||||||
 | 
					set editing-mode vi
 | 
				
			||||||
 | 
					$if mode=vi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set show-mode-in-prompt on
 | 
				
			||||||
 | 
					set vi-ins-mode-string \1\e[6 q\2
 | 
				
			||||||
 | 
					set vi-cmd-mode-string \1\e[2 q\2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set keymap vi-command
 | 
				
			||||||
 | 
					# these are for vi-command mode
 | 
				
			||||||
 | 
					Control-l: clear-screen
 | 
				
			||||||
 | 
					Control-a: beginning-of-line
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set keymap vi-insert
 | 
				
			||||||
 | 
					# these are for vi-insert mode
 | 
				
			||||||
 | 
					Control-l: clear-screen
 | 
				
			||||||
 | 
					Control-a: beginning-of-line
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$endif
 | 
				
			||||||
							
								
								
									
										85
									
								
								home/default/.config/shell/profile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								home/default/.config/shell/profile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,85 @@
 | 
				
			|||||||
 | 
					#!/bin/zsh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# profile file. Runs on login. Environmental variables are set here.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# If you don't plan on reverting to bash, you can remove the link in ~/.profile
 | 
				
			||||||
 | 
					# to clean up.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# paths
 | 
				
			||||||
 | 
					export PATH="$PATH:$HOME/.local/bin"
 | 
				
			||||||
 | 
					export PATH="$PATH:/var/lib/flatpak/exports/bin"
 | 
				
			||||||
 | 
					export PATH="$PATH:$HOME/.local/share/go/bin"
 | 
				
			||||||
 | 
					export PATH="$PATH:$HOME/.local/share/cargo/bin"
 | 
				
			||||||
 | 
					export PATH="$PATH:$HOME/.emacs.d/bin"
 | 
				
			||||||
 | 
					unsetopt PROMPT_SP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Default programs:
 | 
				
			||||||
 | 
					export EDITOR="nvim"
 | 
				
			||||||
 | 
					export TERMINAL="foot"
 | 
				
			||||||
 | 
					export BROWSER="librewolf"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# ~/ Clean-up:
 | 
				
			||||||
 | 
					export XDG_CONFIG_HOME="$HOME/.config"
 | 
				
			||||||
 | 
					export XDG_DATA_HOME="$HOME/.local/share"
 | 
				
			||||||
 | 
					export XDG_CACHE_HOME="$HOME/.cache"
 | 
				
			||||||
 | 
					export XINITRC="${XDG_CONFIG_HOME:-$HOME/.config}/x11/xinitrc"
 | 
				
			||||||
 | 
					#export XAUTHORITY="$XDG_RUNTIME_DIR/Xauthority" # This line will break some DMs.
 | 
				
			||||||
 | 
					export NOTMUCH_CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}/notmuch-config"
 | 
				
			||||||
 | 
					export GTK2_RC_FILES="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-2.0/gtkrc-2.0"
 | 
				
			||||||
 | 
					export LESSHISTFILE="-"
 | 
				
			||||||
 | 
					export WGETRC="${XDG_CONFIG_HOME:-$HOME/.config}/wget/wgetrc"
 | 
				
			||||||
 | 
					export INPUTRC="${XDG_CONFIG_HOME:-$HOME/.config}/shell/inputrc"
 | 
				
			||||||
 | 
					export ZDOTDIR="${XDG_CONFIG_HOME:-$HOME/.config}/zsh"
 | 
				
			||||||
 | 
					#export ALSA_CONFIG_PATH="$XDG_CONFIG_HOME/alsa/asoundrc"
 | 
				
			||||||
 | 
					#export GNUPGHOME="${XDG_DATA_HOME:-$HOME/.local/share}/gnupg"
 | 
				
			||||||
 | 
					export WINEPREFIX="${XDG_DATA_HOME:-$HOME/.local/share}/wineprefixes/default"
 | 
				
			||||||
 | 
					export KODI_DATA="${XDG_DATA_HOME:-$HOME/.local/share}/kodi"
 | 
				
			||||||
 | 
					export PASSWORD_STORE_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/password-store"
 | 
				
			||||||
 | 
					export TMUX_TMPDIR="$XDG_RUNTIME_DIR"
 | 
				
			||||||
 | 
					export ANDROID_SDK_HOME="${XDG_CONFIG_HOME:-$HOME/.config}/android"
 | 
				
			||||||
 | 
					export CARGO_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/cargo"
 | 
				
			||||||
 | 
					export GOPATH="${XDG_DATA_HOME:-$HOME/.local/share}/go"
 | 
				
			||||||
 | 
					export ANSIBLE_CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}/ansible/ansible.cfg"
 | 
				
			||||||
 | 
					export UNISON="${XDG_DATA_HOME:-$HOME/.local/share}/unison"
 | 
				
			||||||
 | 
					export HISTFILE="${XDG_DATA_HOME:-$HOME/.local/share}/history"
 | 
				
			||||||
 | 
					export WEECHAT_HOME="${XDG_CONFIG_HOME:-$HOME/.config}/weechat"
 | 
				
			||||||
 | 
					export MBSYNCRC="${XDG_CONFIG_HOME:-$HOME/.config}/mbsync/config"
 | 
				
			||||||
 | 
					export ELECTRUMDIR="${XDG_DATA_HOME:-$HOME/.local/share}/electrum"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Other program settings:
 | 
				
			||||||
 | 
					export DICS="/usr/share/stardict/dic/"
 | 
				
			||||||
 | 
					export SUDO_ASKPASS="$HOME/.local/bin/dmenupass"
 | 
				
			||||||
 | 
					export FZF_DEFAULT_OPTS="--layout=reverse --height 40%"
 | 
				
			||||||
 | 
					export LESS=-R
 | 
				
			||||||
 | 
					export LESS_TERMCAP_mb="$(printf '%b' '[1;31m')"
 | 
				
			||||||
 | 
					export LESS_TERMCAP_md="$(printf '%b' '[1;36m')"
 | 
				
			||||||
 | 
					export LESS_TERMCAP_me="$(printf '%b' '[0m')"
 | 
				
			||||||
 | 
					export LESS_TERMCAP_so="$(printf '%b' '[01;44;33m')"
 | 
				
			||||||
 | 
					export LESS_TERMCAP_se="$(printf '%b' '[0m')"
 | 
				
			||||||
 | 
					export LESS_TERMCAP_us="$(printf '%b' '[1;32m')"
 | 
				
			||||||
 | 
					export LESS_TERMCAP_ue="$(printf '%b' '[0m')"
 | 
				
			||||||
 | 
					export LESSOPEN="| /usr/bin/highlight -O ansi %s 2>/dev/null"
 | 
				
			||||||
 | 
					export QT_QPA_PLATFORMTHEME="gtk2"	# Have QT use gtk2 theme.
 | 
				
			||||||
 | 
					export MOZ_USE_XINPUT2="1"		# Mozilla smooth scrolling/touchpads.
 | 
				
			||||||
 | 
					export AWT_TOOLKIT="MToolkit wmname LG3D"	#May have to install wmname
 | 
				
			||||||
 | 
					export _JAVA_AWT_WM_NONREPARENTING=1	# Fix for Java applications in dwm
 | 
				
			||||||
 | 
					export GTK_IM_MODULE=fcitx
 | 
				
			||||||
 | 
					export QT_IM_MODULE=fcitx
 | 
				
			||||||
 | 
					export XMODIFIERS=@im=fcitx
 | 
				
			||||||
 | 
					export SDL_IM_MODULE=fcitx
 | 
				
			||||||
 | 
					export GLFW_IM_MODULE=ibus
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#wayland
 | 
				
			||||||
 | 
					#export QT_QPA_PLATFORM=wayland
 | 
				
			||||||
 | 
					#export XDG_CURRENT_DESKTOP=river
 | 
				
			||||||
 | 
					#export XDG_SESSION_DESKTOP=river
 | 
				
			||||||
 | 
					#export XDG_CURRENT_SESSION_TYPE=wayland
 | 
				
			||||||
 | 
					#export GDK_BACKEND="wayland,x11"
 | 
				
			||||||
 | 
					#export MOZ_ENABLE_WAYLAND=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ ! -f ${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc ] && setsid shortcuts >/dev/null 2>&1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then
 | 
				
			||||||
 | 
					  exec /usr/bin/sway
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
							
								
								
									
										98
									
								
								home/default/.config/zsh/.zshrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								home/default/.config/zsh/.zshrc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,98 @@
 | 
				
			|||||||
 | 
					# zsh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Enable colors and change prompt:
 | 
				
			||||||
 | 
					autoload -U colors && colors	# Load colors
 | 
				
			||||||
 | 
					#PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b "
 | 
				
			||||||
 | 
					#PS1="[%n@%M %~]$ "
 | 
				
			||||||
 | 
					#PS1=" %~ $ "
 | 
				
			||||||
 | 
					PS1=" %{$fg[magenta]%}%~%{$fg[red]%} %{$reset_color%}λ%b " # minimal
 | 
				
			||||||
 | 
					setopt autocd		# Automatically cd into typed directory.
 | 
				
			||||||
 | 
					stty stop undef		# Disable ctrl-s to freeze terminal.
 | 
				
			||||||
 | 
					setopt interactive_comments
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# History in cache directory:
 | 
				
			||||||
 | 
					HISTSIZE=10000000
 | 
				
			||||||
 | 
					SAVEHIST=10000000
 | 
				
			||||||
 | 
					HISTFILE="${XDG_CACHE_HOME:-$HOME/.cache}/zsh/history"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load aliases and shortcuts if existent.
 | 
				
			||||||
 | 
					[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc" ] && source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc"
 | 
				
			||||||
 | 
					[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc" ] && source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc"
 | 
				
			||||||
 | 
					[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/zshnameddirrc" ] && source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/zshnameddirrc"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Basic auto/tab complete:
 | 
				
			||||||
 | 
					autoload -U compinit
 | 
				
			||||||
 | 
					zstyle ':completion:*' menu select
 | 
				
			||||||
 | 
					zmodload zsh/complist
 | 
				
			||||||
 | 
					compinit
 | 
				
			||||||
 | 
					_comp_options+=(globdots)		# Include hidden files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# vi mode
 | 
				
			||||||
 | 
					bindkey -v
 | 
				
			||||||
 | 
					export KEYTIMEOUT=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# use vim keys in tab complete menu:
 | 
				
			||||||
 | 
					bindkey -M menuselect 'h' vi-backward-char
 | 
				
			||||||
 | 
					bindkey -M menuselect 'k' vi-up-line-or-history
 | 
				
			||||||
 | 
					bindkey -M menuselect 'l' vi-forward-char
 | 
				
			||||||
 | 
					bindkey -M menuselect 'j' vi-down-line-or-history
 | 
				
			||||||
 | 
					bindkey -v '^?' backward-delete-char
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# change cursor shape for different vi modes.
 | 
				
			||||||
 | 
					function zle-keymap-select () {
 | 
				
			||||||
 | 
					    case $KEYMAP in
 | 
				
			||||||
 | 
					        vicmd) echo -ne '\e[1 q';;      # block
 | 
				
			||||||
 | 
					        viins|main) echo -ne '\e[5 q';; # beam
 | 
				
			||||||
 | 
					    esac
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					zle -N zle-keymap-select
 | 
				
			||||||
 | 
					zle-line-init() {
 | 
				
			||||||
 | 
					    zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere)
 | 
				
			||||||
 | 
					    echo -ne "\e[5 q"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					zle -N zle-line-init
 | 
				
			||||||
 | 
					echo -ne '\e[5 q' # Use beam shape cursor on startup.
 | 
				
			||||||
 | 
					preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# use lf to switch directories and bind it to ctrl-o
 | 
				
			||||||
 | 
					lfcd () {
 | 
				
			||||||
 | 
					    tmp="$(mktemp -uq)"
 | 
				
			||||||
 | 
					    trap 'rm -f $tmp >/dev/null 2>&1 && trap - HUP INT QUIT TERM PWR EXIT' HUP INT QUIT TERM PWR EXIT
 | 
				
			||||||
 | 
					    lf -last-dir-path="$tmp" "$@"
 | 
				
			||||||
 | 
					    if [ -f "$tmp" ]; then
 | 
				
			||||||
 | 
					        dir="$(cat "$tmp")"
 | 
				
			||||||
 | 
					        [ -d "$dir" ] && [ "$dir" != "$(pwd)" ] && cd "$dir"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					bindkey -s '^o' '^ulfcd\n'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bindkey -s '^a' '^ubc -lq\n'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bindkey -s '^f' '^ucd "$(dirname "$(fzf)")"\n'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bindkey '^[[P' delete-char
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# edit line in vim with ctrl-e:
 | 
				
			||||||
 | 
					autoload edit-command-line; zle -N edit-command-line
 | 
				
			||||||
 | 
					bindkey '^e' edit-command-line
 | 
				
			||||||
 | 
					bindkey -M vicmd '^[[P' vi-delete-char
 | 
				
			||||||
 | 
					bindkey -M vicmd '^e' edit-command-line
 | 
				
			||||||
 | 
					bindkey -M visual '^[[P' vi-delete
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# ctrl + shift + n in the same directory in foot
 | 
				
			||||||
 | 
					function osc7 {
 | 
				
			||||||
 | 
					    local LC_ALL=C
 | 
				
			||||||
 | 
					    export LC_ALL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    setopt localoptions extendedglob
 | 
				
			||||||
 | 
					    input=( ${(s::)PWD} )
 | 
				
			||||||
 | 
					    uri=${(j::)input/(#b)([^A-Za-z0-9_.\!~*\'\(\)-\/])/%${(l:2::0:)$(([##16]#match))}}
 | 
				
			||||||
 | 
					    print -n "\e]7;file://${HOSTNAME}${uri}\e\\"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					autoload -Uz add-zsh-hook
 | 
				
			||||||
 | 
					add-zsh-hook -Uz chpwd osc7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ ! -f ${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc ] && setsid shortcuts >/dev/null 2>&1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load syntax highlighting; should be last.
 | 
				
			||||||
 | 
					source /usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh 2>/dev/null
 | 
				
			||||||
							
								
								
									
										1
									
								
								home/default/.zprofile
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								home/default/.zprofile
									
									
									
									
									
										Symbolic link
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					.config/shell/profile
 | 
				
			||||||
		Reference in New Issue
	
	Block a user