zsh (zshrc)
Configuração para o shell ZSH
Categoria: Console
Software: zsh
[ Hits: 14.993 ]
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
}
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Programa fora de escala na tela do pc (12)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)
O programa assinador digital (1)









