Switch to zsh for compatibility reasons but don't delete fish's configs

This commit is contained in:
David Holland 2020-01-23 18:44:10 +01:00
parent 0eb37a105a
commit cf749a9199
Signed by: DustVoice
GPG key ID: 47068995A14EDCA9
8 changed files with 139 additions and 35 deletions

2
.gitignore vendored
View file

@ -6,6 +6,7 @@
!/.gitconfig
!/.inputrc
!/.nvidia-xinitrc
!/.oh-my-zsh
!/.password-store
!/.tmux.conf
!/.xinitrc
@ -15,6 +16,7 @@
!/README.md
!/.config/
!/.zsh/
!/.gnupg/gpg-agent.conf
!/.gnupg/gpg.conf

12
.gitmodules vendored
View file

@ -4,3 +4,15 @@
[submodule ".config/nvim"]
path = .config/nvim
url = git@github.com:DustVoice/nvim.git
[submodule ".zsh/plugins/zsh-vim-mode"]
path = .zsh/plugins/zsh-vim-mode
url = https://github.com/softmoth/zsh-vim-mode
[submodule ".zsh/plugins/zsh-autosuggestions"]
path = .zsh/plugins/zsh-autosuggestions
url = https://github.com/zsh-users/zsh-autosuggestions
[submodule ".zsh/plugins/zsh-syntax-highlighting"]
path = .zsh/plugins/zsh-syntax-highlighting
url = https://github.com/zsh-users/zsh-syntax-highlighting
[submodule ".oh-my-zsh"]
path = .oh-my-zsh
url = https://github.com/ohmyzsh/ohmyzsh.git

1
.oh-my-zsh Submodule

@ -0,0 +1 @@
Subproject commit 4e45e12dc355e3ba34e7e40ce4936fb222f0155c

@ -0,0 +1 @@
Subproject commit ae315ded4dba10685dbbafbfa2ff3c1aefeb490d

@ -0,0 +1 @@
Subproject commit e2e97dde9c92bf27d8222482a08e2b77d66ac334

@ -0,0 +1 @@
Subproject commit d0a53168fb448894b7a33befa30e489ef77c81d2

View file

@ -0,0 +1,10 @@
# user, host, full path, and time/date
# on two lines for easier vgrepping
# entry in a nice long thread on the Arch Linux forums: https://bbs.archlinux.org/viewtopic.php?pid=521888#p521888
PROMPT=$'%b%{$fg[yellow]%}%n@%{$fg[magenta]%}%M %{$fg[green]%}%~ $(git_prompt_info)
%{$fg_bold[white]%}%(!.#.$)%{$reset_color%} '
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[blue]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%} %{$fg[red]%}X"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%}"

146
.zshrc
View file

@ -1,52 +1,118 @@
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=10000
setopt appendhistory
# Path to your oh-my-zsh installation.
export ZSH="$HOME/.oh-my-zsh"
bindkey -v
# Would you like to use another custom folder than $ZSH/custom?
ZSH_CUSTOM="$HOME/.zsh"
terminfo_down_sc=$terminfo[cud1]$terminfo[cud1]$terminfo[cuu1]$terminfo[cuu1]$terminfo[sc]$terminfo[cud1]$terminfo[cud1]
#terminfo_down_sc=$terminfo[cud1]$terminfo[cuu1]$terminfo[sc]$terminfo[cud1]
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME="dustvoice"
function insert-mode () { echo "%S%F{cyan} -- INSERT -- %f%s" }
function normal-mode () { echo "%S%F{green} -- NORMAL -- %f%s" }
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in ~/.oh-my-zsh/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
precmd () {
PS1="%{$terminfo_down_sc$VI_MODE$terminfo[rc]%}%F{magenta}%n%f@%F{yellow}%m%f %F{green}%~%f %(!.#.$) "
}
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
function zle-keymap-select () {
VI_KEYMAP=$KEYMAP
# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
case ${VI_KEYMAP} in
(vicmd) VI_MODE="$(normal-mode)" ;;
(main|viins) VI_MODE="$(insert-mode)" ;;
(*) VI_MODE="$(insert-mode)" ;;
esac
# Uncomment the following line to disable bi-weekly auto-update checks.
DISABLE_AUTO_UPDATE="true"
PS1="%{$terminfo_down_sc$VI_MODE$terminfo[rc]%}%F{magenta}%n%f@%F{yellow}%m%f %B%F{cyan}%~%f%b %(!.#.$) "
# Uncomment the following line to automatically update without prompting.
# DISABLE_UPDATE_PROMPT="true"
zle reset-prompt
zle -R
}
# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13
function zle-line-init() {
zle -K viins
}
# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS=true
preexec () { print -rn -- $terminfo[el]; }
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
zle -N zle-line-init
zle -N zle-keymap-select
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
export KEYTIMEOUT=1
# Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="true"
alias ll='ls -alhF'
alias la='ls -A'
alias l='ls -CF'
# Uncomment the following line to display red dots whilst waiting for completion.
COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
HIST_STAMPS="yyyy-mm-dd"
HISTSIZE=1000000
SAVEHIST=$HISTSIZE
setopt HIST_EXPIRE_DUPS_FIRST
setopt HIST_IGNORE_DUPS
setopt HIST_IGNORE_ALL_DUPS
ZSH_AUTOSUGGEST_USE_ASYNC="true"
ZSH_AUTOSUGGEST_STRATEGY=(history)
MODE_CURSOR_DEFAULT="white blinking bar"
MODE_CURSOR_VICMD="magenta steady block"
MODE_CURSOR_VIINS="white blinking bar"
MODE_CURSOR_SEARCH="cyan steady underline"
MODE_CURSOR_REPLACE="red steady underline"
MODE_CURSOR_VISUAL="magenta steady block"
# Which plugins would you like to load?
# Standard plugins can be found in ~/.oh-my-zsh/plugins/*
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
# plugins=(git)
plugins=(colored-man-pages colorize command-not-found git zsh-autosuggestions zsh-syntax-highlighting history-substring-search zsh-vim-mode)
source $ZSH/oh-my-zsh.sh
bindkey -M vicmd 'K' history-substring-search-up
bindkey -M vicmd 'J' history-substring-search-down
bindkey -M vicmd 'L' autosuggest-accept
bindkey -M vicmd 'H' autosuggest-clear
bindkey -M vicmd '$' autosuggest-accept
bindkey -M vicmd '0' autosuggest-clear
# User configuration
export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi
export EDITOR='nvim'
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
@ -64,7 +130,7 @@ gpg-connect-agent updatestartuptty /bye
export EDITOR=nvim
export TERMINAL=gnome-terminal
export PATH=$HOME/bin:$HOME/.local/bin:$PATH:~/JUCE
export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH:~/JUCE
export JUCE_PATH=~/JUCE
export FRUT_PATH=~/FRUT
@ -72,3 +138,13 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH
export CXXFLAGS='-std=c++14'
export LIBGL_ALWAYS_INDIRECT=1
alias la='ls -lahF'
alias ll='ls -lhF'
alias ls='ls -F --color=tty'
alias lsa='ls -aF'
alias layout='xkblayout-state print "%s %v"'
alias picom-default='picom -bGC --backend glx --unredir-if-possible-delay 1000 --vsync'
alias screenkey-obs='screenkey --no-systray -t 2 -p fixed -s small -g 960x36+960+4 --key-mode composed --bak-mode full --mods-mode normal --scr 0 -f Hack'
alias tmate-obs='tmate -k tmk-ET35fx5m9cA7cxOt4jjWkSmaOy -r DustVoice'
alias xfce-polkit='/usr/lib/xfce-polkit/xfce-polkit'