dgy
/
hexagons
Archived
1
0
Fork 0
This repository has been archived on 2021-03-24. You can view files and clone it, but cannot push or open issues or pull requests.
hexagons/.config/zsh/.zshrc

111 lines
4.2 KiB
Bash

# -*- mode: shell-script -*-
# vim:ft=zsh
# Opciones principales {{{
autoload -Uz bracketed-paste-url-magic
zle -N bracketed-paste bracketed-paste-url-magic
setopt RM_STAR_WAIT
setopt COMBINING_CHARS # Combine accents with the base character.
setopt INTERACTIVE_COMMENTS # Enable comments in interactive shell.
setopt RC_QUOTES # Allow 'Henry''s Garage' instead of 'Henry'\''s Garage'.
unsetopt MAIL_WARNING # Don't print a warning message if a mail file has been accessed.
setopt LONG_LIST_JOBS # List jobs in the long format by default.
setopt AUTO_RESUME # Attempt to resume existing job before creating a new process.
setopt NOTIFY # Report status of background jobs immediately.
unsetopt BG_NICE # Don't run all background jobs at a lower priority.
unsetopt HUP # Don't kill jobs on shell exit.
unsetopt CHECK_JOBS # Don't report on jobs when shell exit.
setopt AUTO_CD # Auto changes to a directory without typing cd.
setopt AUTO_PUSHD # Push the old directory onto the stack on cd.
setopt PUSHD_IGNORE_DUPS # Do not store duplicates in the stack.
setopt PUSHD_SILENT # Do not print the directory stack after pushd or popd.
setopt PUSHD_TO_HOME # Push to home directory when no argument is given.
setopt CDABLE_VARS # Change directory to a path stored in a variable.
setopt MULTIOS # Write to multiple descriptors.
setopt AUTO_PARAM_SLASH # Tab completing directory appends a slash
setopt PROMPT_SUBST
# }}}
# Historial {{{
export HISTIGNORE="ls:cd:cd -:pwd:exit:date:* --help:* --version:* -v:* -h:man *:up:tuir *"
HISTFILE="$ZDOTDIR/histfile"
HISTSIZE=10000
SAVEHIST=10000
setopt BANG_HIST # Treat the '!' character specially during expansion.
setopt EXTENDED_HISTORY # Write the history file in the ':start:elapsed;command' format.
setopt SHARE_HISTORY # Share history between all sessions.
setopt HIST_EXPIRE_DUPS_FIRST # Expire a duplicate event first when trimming history.
setopt HIST_IGNORE_DUPS # Do not record an event that was just recorded again.
setopt HIST_IGNORE_ALL_DUPS # Delete an old recorded event if a new event is a duplicate.
setopt HIST_FIND_NO_DUPS # Do not display a previously found event.
setopt HIST_IGNORE_SPACE # Do not record an event starting with a space.
setopt HIST_SAVE_NO_DUPS # Do not write a duplicate event to the history file.
setopt HIST_VERIFY # Do not execute immediately upon history expansion.
setopt HIST_BEEP # Beep when accessing non-existent history.
# }}}
# Plugins y extras {{{
foreach programa (
doc/fzf/completion.zsh
doc/fzf/key-bindings.zsh
zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
) {
source /usr/share/$programa
}
foreach extra (
lf-icons.zsh
up.plugin.zsh
zsh-autopair/autopair.plugin.zsh
zsh-system-clipboard/zsh-system-clipboard.plugin.zsh
git-extras-completion.zsh
autocompletar.zsh
aliases.zsh
zmarks.zsh
zsh-history-substring-search/zsh-history-substring-search.plugin.zsh
teclas.zsh
) {
source $ZDOTDIR/$extra
}
HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE=1
typeset -g ZSH_SYSTEM_CLIPBOARD_TMUX_SUPPORT='true'
source $XDG_DATA_HOME/lscolors.sh
# }}}
# Prompt {{{
function precmd() {
if [ -z "$NEW_LINE_BEFORE_PROMPT" ]; then
NEW_LINE_BEFORE_PROMPT=1
elif [ "$NEW_LINE_BEFORE_PROMPT" -eq 1 ]; then
echo "\n"
fi
}
function () {
if [[ $EUID == 0 ]]; then
local SUFFIX=' %F{yellow}%n%f:'
else
local SUFFIX=$(printf ':')
fi
export PS1="%(?..%{%F{red}%}(%?%)%{%f%} )%F{green}${SSH_TTY:+[%n@%m]}%f%B${SSH_TTY:+:}%b%F{blue}%B%2~%b%f%B${SUFFIX}%b "
}
export SPROMPT="zsh: correct %F{red}'%R'%f to %F{green}'%r'%f [%B%Uy%u%bes, %B%Un%u%bo, %B%Ue%u%bdit, %B%Ua%u%bbort]? "
function zle-keymap-select {
if [[ ${KEYMAP} == vicmd ]] ||
[[ $1 = 'block' ]]; then
echo -ne '\e[2 q'
elif [[ ${KEYMAP} == main ]] ||
[[ ${KEYMAP} == viins ]] ||
[[ ${KEYMAP} = '' ]] ||
[[ $1 = 'beam' ]]; then
echo -ne '\e[6 q'
fi
}
zle -N zle-keymap-select
zle-line-init() {
echo -ne "\e[6 q"
}
zle -N zle-line-init
echo -ne '\e[5 q'
preexec() { echo -ne '\e[6 q' ;}
# }}}
# vim:foldmethod=marker:foldlevel=0