zsh (zshrc)
Configuração para o shell ZSH
Categoria: Console
Software: zsh
[ Hits: 15.120 ]
Por: Phillipe Smith
Aqui vai minha configuração do maravilhoso shell ZSH. Façam seus testes... garanto que será de grande utilidade!
Ah, e não esqueçam de alterar algumas partes da configuração onde tem indicando minha HOME.
#########################
-*- coding: utf-8 -*-
Alterado por: Phillipe Smith
#########################
export MANPATH="/usr/man:/usr/X11R6/man"
export LESSCHARSET="latin1"
export INPUTRC="/etc/inputrc"
export LESS="-R"
# Salvar 50*10^3 eventos no histórico.
HISTFILE=${HOME}/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
setopt EXTENDED_HISTORY HIST_VERIFY HIST_REDUCE_BLANKS HIST_IGNORE_ALL_DUPS
eval `dircolors -b`
unset mailpath MAILCHECK
# Configuracoes do Locale (encontre seu locale com 'locale -a' [sem as aspas])
export LANG="pt_BR.utf8"
export LC_COLLATE="C"
umask 022
# Deixa o zsh mais parecido com o vi, também faz com que as teclas del e ctrl+r funcionem normalmente.
bindkey -v
bindkey '\e[3~' delete-char
bindkey '^R' history-incremental-search-backward
# Arquivo do autocompletar.
zstyle :compinstall filename '/home/phillipe/.zshrc'
# Auto-completando com <TAB>
setopt auto_list
setopt auto_menu
setopt case_glob
setopt list_types
setopt glob_complete
setopt menu_complete
setopt complete_in_word
setopt complete_aliases
autoload -U compinit promptinit
compinit
promptinit
# Ativando modo 'verbose':
zstyle ':completion:*' verbose 'yes'
zstyle ':completion:*' show-completer
# Lista colorida de complementações:
zstyle ':completion:*:default' list-colors ${(s.:.)ZLS_COLORS}
# Menu de seleção visual:
zstyle ':completion:*' menu select=3 _complete _ignored _approximate
zstyle ':completion:*' select-prompt '%S zsh: Seleção atual = %p %s'
# Auto descrição das complementações possíveis:
zstyle ':completion:*:options' description 'yes'
zstyle ':completion:*:options' auto-description '%d'
# Formato das mensagens de auto-complementação:
zstyle ':completion:*:corrections' format '%Bzsh: %d (erros: %e)%b'
zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
zstyle ':completion:*:warnings' format '%Bzsh: Inválido como: %d%b'
# Listando auto-complementações em grupos:
zstyle ':completion:*:matches' groups 'yes'
zstyle ':completion:*' list-grouped
zstyle ':completion:*' group-name ''
zstyle ':completion:*:*:-command-:*' group-order commands builtins
# Expandir o máximo que puder:
zstyle ':completion:incremental:*' completer _complete _correct
zstyle ':completion:*' completer _complete _correct _match _approximate
zstyle ':completion:*:expand:*' tag-order all-expansions
# Número de erros a aceitar durante auto-complementação:
zstyle ':completion:*:approximate:*' max-errors 2 numeric
# Usar '/d/s <TAB>' para expandir para '/dir/subdir':
zstyle ':completion:*' expand 'yes'
zstyle ':completion:*' squeeze-slashes 'yes'
# Preservar prefixo/sufixo durante auto-complementação:
zstyle ':completion:*' expand prefix suffix
zstyle ':completion:*' completer _complete _prefix _match _approximate
zstyle ':completion:*' preserve-prefix '//[^ /]##/'
zstyle ':completion:*:match:*' original only
# Opção auto-cd deve ignorar o diretório corrente:
zstyle ':completion:*:cd:*' ignore-parents parent pwd
# Evitar entradas duplicadas para os comandos abaixo:
zstyle ':completion:*:rm:*' ignore-line 'yes'
zstyle ':completion:*:cp:*' ignore-line 'yes'
zstyle ':completion:*:mv:*' ignore-line 'yes'
# Auto-complementação case-sensitive:
zstyle ':completion:*:complete:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}'
# Auto-complementar a partir de curingas:
zstyle ':completion:*:complete-extended:*' matcher 'r:|[.,_-]=* r:|=*'
# Ignorar auto-complementação de funções internas do zsh:
zstyle ':completion:*:functions' ignored-patterns '_*'
# Autocompletar PID (kill).
zstyle ':completion:*:*:kill:*' menu yes select
zstyle ':completion:*:kill:*' force-list always
# Ajustar variável PS1.
# [/dir] user@host % HH:MM
# PS1 and PS2
export PS1="[%B%n%b@%m %3~]\$ "
export RPS1="%T"
export PS2="$(print '%{\e[0;34m%}>%{\e[0m%}')"
# Ajusta principais aplicativos.
export BROWSER="firefox"
export EDITOR="vim"
# export XTERM="xterm"
export VIEWER="gthumb"
# Algumas opções.
setopt correct
setopt correctall
export SPROMPT="$(print '%{\e[37m%}zsh: Corrigir para %S%r%s ? (n|y|e): %{\e[0m%}')"
# setopt hist_ignore_all_dups
setopt hist_reduce_blanks
# setopt hist_no_functions
# setopt no_hist_beep
# setopt auto_cd
# setopt no_bg_nice
# setopt no_notify
setopt no_beep
setopt extended_glob
# setopt no_clobber
#
# Antialiasing para aplicações GTK/QT:
export GDK_USE_XFT=1
export QT_XFT=1
# Correção de BUG do OpenOffice
export OOO_FORCE_DESKTOP=gnome
# Carregando alguns módulos úteis:
zmodload -i zsh/complete
zmodload -i zsh/mapfile
zmodload -i zsh/mathfunc
zmodload -i zsh/complist
# Aliases
alias ls='ls -F --group-directories-first --color=always'
alias gcc='gcc -Wall'
alias rm='rm -iv'
alias cp='cp -v'
alias mv='mv -v'
alias mkdir='mkdir -pv'
alias pacman="sudo pacman-color"
alias ypacman='yaourt'
alias mem_clear='sudo mem_clear'
alias proz='proz -r'
alias vboxstart='sudo modprobe vboxdrv && sudo modprobe vboxnetflt'
alias vboxstop='sudo modprobe -r vboxdrv && sudo modprobe -r vboxnetflt'
alias vi="vim"
alias net_restart='sudo /etc/rc.d/network restart'
alias db.lck_rm='sudo rm -rf /var/lib/pacman/db.lck'
alias svim="sudo vim"
# Esses alias permitem abrir um arquivo diretamente (ex, % file.txt e o vim já é aberto).
alias -s html=$BROWSER
alias -s org=$BROWSER
alias -s php=$BROWSER
alias -s com=$BROWSER
alias -s net=$BROWSER
alias -s br=$BROWSER
alias -s jpg=$VIEWER
alias -s png=$VIEWER
alias -s gif=$VIEWER
alias -s doc=soffice
alias -s odt=soffice
alias -s pdf=evince
alias -s gz=tar -zxvf
alias -s bz2=tar -jxvf
# Carrega módulo de matemática
load_math() {
zmodload zsh/mathfunc
}
# Man pages coloridas:
if [ -e $(`which most > /dev/null`) ]; then
export PAGER='most -s'
export LESSHISTFILE='-'
else
export PAGER=less
fi
# key bindings
bindkey "\e[1~" beginning-of-line
bindkey "\e[4~" end-of-line
bindkey "\e[5~" beginning-of-history
bindkey "\e[6~" end-of-history
bindkey "\e[3~" delete-char
bindkey "\e[2~" quoted-insert
bindkey "\e[5C" forward-word
bindkey "\eOc" emacs-forward-word
bindkey "\e[5D" backward-word
bindkey "\eOd" emacs-backward-word
bindkey "\e\e[C" forward-word
bindkey "\e\e[D" backward-word
bindkey "^H" backward-delete-word
# Para rxvt
bindkey "\e[8~" end-of-line
bindkey "\e[7~" beginning-of-line
# for non RH/Debian xterm, can't hurt for RH/DEbian xterm
bindkey "\eOH" beginning-of-line
bindkey "\eOF" end-of-line
# for freebsd console
bindkey "\e[H" beginning-of-line
bindkey "\e[F" end-of-line
# completion in the middle of a line
bindkey '^i' expand-or-complete-prefix
# funcoeszz
# source /home/phillipe/.zzrc
#export ZZPATH='/usr/bin/funcoeszz'
############################
## Functions
#############################
#
#myip - finds your current IP if your connected to the internet
myip ()
{
lynx -dump -hiddenlinks=ignore -nolist http://checkip.dyndns.org:8245/ | awk '{
print $4}' | sed '/^$/d; s/^[ ]*//g; s/[ ]*$//g'
}
#clock - A bash clock that can run in your terminal window.
clock ()
{
#
while true;do
clear;
echo "===========";
date +"%r";
echo "===========";
sleep 1;
done
}
#
#netinfo - shows network information for your system
netinfo ()
{
#
echo "--------------- Network Information ---------------"
/sbin/ifconfig | awk /'inet addr/ {print $2}'
/sbin/ifconfig | awk /'Bcast/ {print $3}'
/sbin/ifconfig | awk /'inet addr/ {print $4}'
/sbin/ifconfig | awk /'HWaddr/ {print $4,$5}'
myip=`lynx -dump -hiddenlinks=ignore -nolist http://checkip.dyndns.org:8245/ | sed '/^$/d; s/^[ ]*//g; s/[ ]*$//g' `
echo
echo "${myip}"
echo "---------------------------------------------------"
}
#shot - takes a screenshot of your current window
shot ()
{
import -w root -quality 75 "$HOME/shot-$(date +%s).png"
}
#Translate a Word - USAGE: translate house
translate ()
{
TRANSLATED=`lynx -dump "http://dictionary.reference.com/browse/$1" | grep -i -m 1 -w "Portuguese (Brazil):" | sed 's/^[ \t]*//;s/[ \t]*$//'`
if [[ ${TRANSLATED} != 0 ]]; then
echo "\"${1}\" in ${TRANSLATED}"
else
echo "Sorry, I can not translate \"${1}\" to Portuguese (Brazil)"
fi
}
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como impedir exclusão de arquivos por outros usuários no (Linux)
Cirurgia no Linux Mint em HD Externo via USB
Anúncio do meu script de Pós-Instalação do Ubuntu
Alguém executou um rm e quase mata a Pixar! (5)
Formas seguras de instalar Debian Sid (4)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (12)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (5)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (6)









