diff options
author | Suleyman Farajli <suleyman@farajli.net> | 2024-02-18 17:36:51 +0400 |
---|---|---|
committer | Suleyman Farajli <suleyman@farajli.net> | 2024-02-18 17:36:51 +0400 |
commit | d1e8f727620479a98ad568e8e3dc98e84bef45b2 (patch) | |
tree | 56a8dedb74e9e8a6f8692027e3eadd201eb37c5f /src/dotfiles/zsh | |
parent | f40c73f3b30547f7267c84bd22677dec65029dc4 (diff) |
version 0.2
Diffstat (limited to 'src/dotfiles/zsh')
-rw-r--r-- | src/dotfiles/zsh/user_profile | 19 | ||||
-rwxr-xr-x | src/dotfiles/zsh/zshrc | 70 |
2 files changed, 89 insertions, 0 deletions
diff --git a/src/dotfiles/zsh/user_profile b/src/dotfiles/zsh/user_profile new file mode 100644 index 0000000..fab1b0e --- /dev/null +++ b/src/dotfiles/zsh/user_profile @@ -0,0 +1,19 @@ +# Aliases +[ -f $XINITRC ] && alias startx="startx $XINITRC" +[ -x "$(command -v nvim)" ] && alias vim="nvim" +alias ls="ls -A --color=auto" +alias ping="ping -c 2" +alias clear="clear -x" +alias open="xdg-open" +alias lf="lfcd" +alias vim="nvim" +alias touchOn="synclient TouchpadOff=0" +alias touchOff="synclient TouchpadOff=1" + +# Systemd and Arch linux specific aliases +alias pacman="sudo pacman" +alias systemctl="sudo systemctl" +alias arch-wiki="cd /usr/share/doc/arch-wiki/html/en/" +alias is="systemctl stop NetworkManager" +alias blue="sudo systemctl start bluetooth" +alias net="sudo systemctl start NetworkManager" diff --git a/src/dotfiles/zsh/zshrc b/src/dotfiles/zsh/zshrc new file mode 100755 index 0000000..873f29d --- /dev/null +++ b/src/dotfiles/zsh/zshrc @@ -0,0 +1,70 @@ +# This config is a fork of Luke Smith's zshrc at "https://github.com/LukeSmithxyz/voidrice" + +PROMPT="%B%F{red}%(?..%? )%B%F{blue}%n%b%f@%m %B%~ %% %b" + +#git integration +autoload -Uz vcs_info +precmd_vcs_info() { vcs_info } +precmd_functions+=( precmd_vcs_info ) +setopt prompt_subst +RPROMPT='%B${vcs_info_msg_0_}' +zstyle ':vcs_info:git:*' formats '%b' + +# History in cache directory: +HISTSIZE=10000000 +SAVEHIST=10000000 +HISTFILE="${XDG_CACHE_HOME:-$HOME/.cache}/zsh/history" + + +# 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 +bindkey '^R' history-incremental-search-backward +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 + + +lfcd () { + # `command` is needed in case `lfcd` is aliased to `lf` + cd "$(command lf -print-last-dir "$@")" +} + +# 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. + + +# Options +setopt autocd # Automatically cd into typed directory. +# stty stop undef # Disable ctrl-s to freeze terminal. +setopt interactive_comments +unsetopt nomatch +setopt INC_APPEND_HISTORY # Adds command to history when they are run +setopt HIST_FIND_NO_DUPS # Doesn't show duplicate commands when backward searching |