From 77b7977ac7c607d69cb283af112dc5c4890486f2 Mon Sep 17 00:00:00 2001 From: Nikolas Weger Date: Wed, 9 Sep 2020 07:52:00 +0200 Subject: [PATCH] updated some stuff --- bin/dotupdate | 10 ---- bin/themeupdate | 7 --- copy/zshenv | 8 +-- zsh/files/aliases.zsh | 12 +++++ zsh/files/completion.zsh | 8 ++- zsh/files/keybindings.zsh | 110 ++++++++++++++++++++++++++++++-------- 6 files changed, 111 insertions(+), 44 deletions(-) delete mode 100755 bin/dotupdate delete mode 100755 bin/themeupdate diff --git a/bin/dotupdate b/bin/dotupdate deleted file mode 100755 index f6ec36a..0000000 --- a/bin/dotupdate +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -dotupdate () { - pushd ~/.config/dotfiles &>/dev/null - echo "Updating Dotfiles" - git pull - popd &>/dev/null -} - -dotupdate diff --git a/bin/themeupdate b/bin/themeupdate deleted file mode 100755 index d3d6caa..0000000 --- a/bin/themeupdate +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -themeupdate () { - curl -fsSL https://starship.rs/install.sh | bash -} - -themeupdate diff --git a/copy/zshenv b/copy/zshenv index 6b93f56..f76b635 100644 --- a/copy/zshenv +++ b/copy/zshenv @@ -1,6 +1,6 @@ -export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' -export ZDOTDIR='/home/eeleater/.config/dotfiles/zsh' -export EDITOR='nano' -export THEME='starship' +export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" +export ZDOTDIR="$HOME/.config/dotfiles/zsh" + +[[ -n $SSH_CONNECTION ]] && export EDITOR='vim' || export EDITOR='nvim' [[ -f "$ZDOTDIR/local/env.zsh" ]] && source "$ZDOTDIR/local/env.zsh" diff --git a/zsh/files/aliases.zsh b/zsh/files/aliases.zsh index 6347054..fd6ae81 100644 --- a/zsh/files/aliases.zsh +++ b/zsh/files/aliases.zsh @@ -17,3 +17,15 @@ alias sc-daemon-reload="sudo systemctl daemon-reload" alias duplHostKeys='cat ~/.ssh/known_hosts | egrep -v "mesh.eu|inetbone.net" | cut -d" " -f3 | sort | uniq -d' alias tb="nc termbin.com 9999" + +dotupdate () { + pushd ~/.config/dotfiles &>/dev/null + echo -n "Updating Dotfiles... " + git pull &>/dev/null + echo "done" + popd &>/dev/null +} + +themeupdate () { + curl -fsSL https://starship.rs/install.sh | bash +} diff --git a/zsh/files/completion.zsh b/zsh/files/completion.zsh index 5b8983f..579fa35 100644 --- a/zsh/files/completion.zsh +++ b/zsh/files/completion.zsh @@ -7,6 +7,12 @@ unsetopt flowcontrol setopt auto_menu setopt complete_in_word setopt always_to_end +setopt auto_cd +setopt multios +setopt prompt_subst +setopt auto_pushd +setopt pushd_ignore_dups +setopt pushdminus zstyle ':completion:*:*:*:*:*' menu select zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*' @@ -23,7 +29,7 @@ zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-dir zstyle ':completion:*' use-cache yes zstyle ':completion:*' cache-path "$HOME/.cache/zsh/compcache/" -zstyle ':completion:*:*:*:users' ignored-patterns adm amanda apache at avahi avahi-autoipd backup beaglidx bin bitcoin bitwarden_rs cacti canna clamav ceph colord consul couchdb cups daemon dbus dhcp dhcpcd distcache dnsdist dnsmasq dovecot eeleater elasticsearch fax flatpak flaskdemo ftp games gdm geoclue git gitea gkrellmd gluster gopher gophernicus gnats hacluster haldaemon halt hsqldb http ident irc junkbust kdm kibana landscape ldap lightdm list lldpd logstash lp lxd mail mailman mailnull man mattermost messagebus mldonkey mongodb mxisd mysql nagios named netdata netdump news nfsnobody nm-openvpn nobody nscd ntp nut nvidia-persistenced nweger nx obsrun openvpn operator pcap pcp polkitd pollinate postfix postgres powerdns privoxy proxy pulse prosody puppet pvm quagga radiusd radvd redis rpc rpcuser rpm rtkit root scard sddm shutdown smmsp squid sshd statd stunnel svn synapse sync sys syslog systemd-coredump systemd-journal-remote systemd-network systemd-resolve systemd-timesync tcpdump teamspeak tftp tinyproxy tor transmission tss turnserver usbmux unbound uucp uuidd vault vcsa webvirtmgr wildfly wwwrun www-data xfs youtrack zabbix-agent zabbix-server zabbix zerotier-one zerotier '_*' +zstyle ':completion:*:*:*:users' ignored-patterns adm amanda apache at avahi avahi-autoipd backup beaglidx bin bitcoin bitwarden_rs cacti canna clamav ceph colord consul couchdb cups daemon dbus dhcp dhcpcd distcache dnsdist dnsmasq dovecot eeleater elasticsearch fax flatpak flaskdemo ftp games gdm geoclue git gitea gkrellmd gluster gopher gophernicus gnats hacluster haldaemon halt hsqldb http ident irc junkbust kdm kibana landscape ldap lightdm list lldpd logstash lp lxd mail mailman mailnull man mattermost messagebus mldonkey mongodb mxisd mysql nagios named netdata netdump news nfsnobody nm-openvpn nm-openconnect nobody nscd ntp nut nvidia-persistenced nweger nx obsrun openvpn operator pcap pcp polkitd pollinate postfix postgres powerdns privoxy proxy pulse prosody puppet pvm quagga radiusd radvd redis rpc rpcuser rpm rtkit root saned scard sddm shutdown smmsp squid sshd statd strongswan stunnel svn synapse sync sys syslog systemd-coredump systemd-journal-remote systemd-network systemd-resolve systemd-timesync tcpdump teamspeak tftp tinyproxy tor transmission tss turnserver usbmux unbound uucp uuidd vault vcsa webvirtmgr wildfly wwwrun www-data xfs xrdp youtrack zabbix-agent zabbix-server zabbix zerotier-one zerotier '_*' zstyle '*' single-ignored show diff --git a/zsh/files/keybindings.zsh b/zsh/files/keybindings.zsh index bf31897..f83b3b2 100644 --- a/zsh/files/keybindings.zsh +++ b/zsh/files/keybindings.zsh @@ -1,3 +1,9 @@ +# http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html +# http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Zle-Builtins +# http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Standard-Widgets + +# Make sure that the terminal is in application mode when zle is active, since +# only then values from $terminfo are valid if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then function zle-line-init() { echoti smkx @@ -9,49 +15,109 @@ if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then zle -N zle-line-finish fi +# Use emacs key bindings bindkey -e -bindkey '\ew' kill-region -bindkey -s '\el' 'ls\n' -bindkey '^r' history-incremental-search-backward +# [PageUp] - Up a line of history +if [[ -n "${terminfo[kpp]}" ]]; then + bindkey -M emacs "${terminfo[kpp]}" up-line-or-history + bindkey -M viins "${terminfo[kpp]}" up-line-or-history + bindkey -M vicmd "${terminfo[kpp]}" up-line-or-history +fi -[[ "${terminfo[kpp]}" != "" ]] && bindkey "${terminfo[kpp]}" up-line-or-history -[[ "${terminfo[knp]}" != "" ]] && bindkey "${terminfo[knp]}" down-line-or-history +# [PageDown] - Down a line of history +if [[ -n "${terminfo[knp]}" ]]; then + bindkey -M emacs "${terminfo[knp]}" down-line-or-history + bindkey -M viins "${terminfo[knp]}" down-line-or-history + bindkey -M vicmd "${terminfo[knp]}" down-line-or-history +fi -if [[ "${terminfo[kcuu1]}" != "" ]]; then +# Start typing + [Up-Arrow] - fuzzy find history forward +if [[ -n "${terminfo[kcuu1]}" ]]; then autoload -U up-line-or-beginning-search zle -N up-line-or-beginning-search - bindkey "${terminfo[kcuu1]}" up-line-or-beginning-search + + bindkey -M emacs "${terminfo[kcuu1]}" up-line-or-beginning-search + bindkey -M viins "${terminfo[kcuu1]}" up-line-or-beginning-search + bindkey -M vicmd "${terminfo[kcuu1]}" up-line-or-beginning-search fi -if [[ "${terminfo[kcud1]}" != "" ]]; then +# Start typing + [Down-Arrow] - fuzzy find history backward +if [[ -n "${terminfo[kcud1]}" ]]; then autoload -U down-line-or-beginning-search zle -N down-line-or-beginning-search - bindkey "${terminfo[kcud1]}" down-line-or-beginning-search + + bindkey -M emacs "${terminfo[kcud1]}" down-line-or-beginning-search + bindkey -M viins "${terminfo[kcud1]}" down-line-or-beginning-search + bindkey -M vicmd "${terminfo[kcud1]}" down-line-or-beginning-search fi -[[ "${terminfo[khome]}" != "" ]] && bindkey "${terminfo[khome]}" beginning-of-line -[[ "${terminfo[kend]}" != "" ]] && bindkey "${terminfo[kend]}" end-of-line +# [Home] - Go to beginning of line +if [[ -n "${terminfo[khome]}" ]]; then + bindkey -M emacs "${terminfo[khome]}" beginning-of-line + bindkey -M viins "${terminfo[khome]}" beginning-of-line + bindkey -M vicmd "${terminfo[khome]}" beginning-of-line +fi -bindkey ' ' magic-space +# [End] - Go to end of line +if [[ -n "${terminfo[kend]}" ]]; then + bindkey -M emacs "${terminfo[kend]}" end-of-line + bindkey -M viins "${terminfo[kend]}" end-of-line + bindkey -M vicmd "${terminfo[kend]}" end-of-line +fi -bindkey '^[[1;5C' forward-word -bindkey '^[[1;5D' backward-word +# [Shift-Tab] - move through the completion menu backwards +if [[ -n "${terminfo[kcbt]}" ]]; then + bindkey -M emacs "${terminfo[kcbt]}" reverse-menu-complete + bindkey -M viins "${terminfo[kcbt]}" reverse-menu-complete + bindkey -M vicmd "${terminfo[kcbt]}" reverse-menu-complete +fi -[[ "${terminfo[kcbt]}" != "" ]] && bindkey "${terminfo[kcbt]}" reverse-menu-complete +# [Backspace] - delete backward +bindkey -M emacs '^?' backward-delete-char +bindkey -M viins '^?' backward-delete-char +bindkey -M vicmd '^?' backward-delete-char -bindkey '^?' backward-delete-char - -if [[ "${terminfo[kdch1]}" != "" ]]; then - bindkey "${terminfo[kdch1]}" delete-char +# [Delete] - delete forward +if [[ -n "${terminfo[kdch1]}" ]]; then + bindkey -M emacs "${terminfo[kdch1]}" delete-char + bindkey -M viins "${terminfo[kdch1]}" delete-char + bindkey -M vicmd "${terminfo[kdch1]}" delete-char else - bindkey "^[[3~" delete-char - bindkey "^[3;5~" delete-char - bindkey "\e[3~" delete-char + bindkey -M emacs "^[[3~" delete-char + bindkey -M viins "^[[3~" delete-char + bindkey -M vicmd "^[[3~" delete-char + + bindkey -M emacs "^[3;5~" delete-char + bindkey -M viins "^[3;5~" delete-char + bindkey -M vicmd "^[3;5~" delete-char fi +# [Ctrl-Delete] - delete whole forward-word +bindkey -M emacs '^[[3;5~' kill-word +bindkey -M viins '^[[3;5~' kill-word +bindkey -M vicmd '^[[3;5~' kill-word + +# [Ctrl-RightArrow] - move forward one word +bindkey -M emacs '^[[1;5C' forward-word +bindkey -M viins '^[[1;5C' forward-word +bindkey -M vicmd '^[[1;5C' forward-word + +# [Ctrl-LeftArrow] - move backward one word +bindkey -M emacs '^[[1;5D' backward-word +bindkey -M viins '^[[1;5D' backward-word +bindkey -M vicmd '^[[1;5D' backward-word + +bindkey '\ew' kill-region # [Esc-w] - Kill from the cursor to the mark +bindkey -s '\el' 'ls\n' # [Esc-l] - run command: ls +bindkey '^r' history-incremental-search-backward # [Ctrl-r] - Search backward incrementally for a specified string. The string may begin with ^ to anchor the search to the beginning of the line. +bindkey ' ' magic-space # [Space] - don't do history expansion + + +# Edit the current command line in $EDITOR autoload -U edit-command-line zle -N edit-command-line bindkey '\C-x\C-e' edit-command-line +# file rename magick bindkey "^[m" copy-prev-shell-word