zsh (zshrc)
Configuração para o shell ZSH
Categoria: Console
Software: zsh
[ Hits: 14.510 ]
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
Linux Mint nao reconhece segundo monitor. (1)
Copiar uma pasta 100% fiel a original? (6)