zsh (zshrc)
Configuração para o shell ZSH
Categoria: Console
Software: zsh
[ Hits: 14.547 ]
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 }
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Falta pacotes de suporte ao sistema de arquivos (Gerenciador de discos... (2)
Enzo quer programar mas não faz código pra não bugar (12)
Erro de Montagem SSD Nvme (12)
WebScrapping através de screenshot devido a bloqueios de Shadow DOM (1)