aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md11
-rw-r--r--zshrc_example42
2 files changed, 53 insertions, 0 deletions
diff --git a/README.md b/README.md
index 18b43ad..14beda8 100644
--- a/README.md
+++ b/README.md
@@ -11,6 +11,17 @@ It is recommanded that you read and understand the scripts before running them
## Explanation of each script
+### zshrc_example
+
+not a script but an example .zshrc that I consider sane defaults
+
+zsh has the reputation to be very powerful but a pain to configure, with this you
+can just use it as a drop in replacement for bash and it should work right and feel
+right right away, main differences are like vi-like keybindings and autocompletion
+is a bit different than bash (way better)
+
+you may wanna customize the PS1 variable and add your own aliases
+
### addtorrent.sh
a command line script to add a torrent to a remote Transmission server over HTTP
diff --git a/zshrc_example b/zshrc_example
new file mode 100644
index 0000000..319166d
--- /dev/null
+++ b/zshrc_example
@@ -0,0 +1,42 @@
+# Lines configured by zsh-newuser-install
+HISTFILE=~/.histfile
+HISTSIZE=1000
+SAVEHIST=1000
+setopt autocd beep extendedglob nomatch
+bindkey -v
+# End of lines configured by zsh-newuser-install
+autoload -Uz compinit promptinit
+compinit
+promptinit
+PS1='%B%F{magenta}[%n@%m %1~]%f%F{blue}%(#.#.$)%f %b'
+zstyle ':completion:*' menu select
+
+# page home and page end
+bindkey "^[[H" beginning-of-line
+bindkey "^[[F" end-of-line
+
+export EDITOR=nvim
+# aliases
+alias v="nvim"
+
+# Change cursor shape for different vi modes.
+function zle-keymap-select {
+ if [[ ${KEYMAP} == vicmd ]] ||
+ [[ $1 = 'block' ]]; then
+ echo -ne '\e[1 q'
+ elif [[ ${KEYMAP} == main ]] ||
+ [[ ${KEYMAP} == viins ]] ||
+ [[ ${KEYMAP} = '' ]] ||
+ [[ $1 = 'beam' ]]; then
+ echo -ne '\e[5 q'
+ fi
+}
+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.
+