Postea tu .bashrc/alias/scripts/.vimrc

Iniciado por leogtz, 26 Junio 2011, 11:26 AM

0 Miembros y 1 Visitante están viendo este tema.

leogtz

Bueno, empiezo por poner mi .bashrc

Código (bash) [Seleccionar]
export HISTCONTROL=erasedups
HISTIGNORE="fg*:bg*:history*:exit*"
shopt -s cdspell
shopt -s histappend
shopt -s cmdhist                                # save multi-line commands in history as single line
shopt -s mailwarn

# Cargar variables personales

if [ -f ~/.bash_variables ];
then
. ~/.bash_variables
fi

# Cargar alias
if [ -f ~/.bash_aliases ];
then
. ~/.bash_aliases
fi

# Cargar funciones
if [ -f ~/.bash_functions ];
then
. ~/.bash_functions
fi

# Check for an interactive session
[ -z "$PS1" ] && return

export HISTSIZE=30000
export HISTCONTROL=ignoredups    # no duplicate lines in the history.

PS1='┌─[$? \u@\h \w]\$\n└─> '
PS2="New line [`date +"%H:%M:%S"`] : "

setxkbmap -layout latam
complete -cf sudo
complete -cf man

export escritorio=/home/leo/Desktop
export PATH=$PATH:/usr/local/bin
export EDITOR="vim"

myname="Leonardo Gutiérrez Ramírez";


.bash_aliases
Código (bash) [Seleccionar]
# Mis alias personales.
alias ls='ls --color=auto'
alias cls='clear'
alias cd..='cd ..'
alias cd.='pwd'
alias ocultos='ls -a1 | grep -i "^[.]"'
alias cdesk='cd $HOME/Escritorio'
alias folds='ls -d1 */'
alias myip='curl icanhazip.com'
alias cd-='cd -'
alias dwn='cd ~/Descargas'
alias files='ls -1F | grep -v ".*/$"'
alias pdf='evince'
alias _total='du -hsx'
alias rm='rm -i'
alias l1='ls -1'
alias xterm='xterm -font -*-fixed-medium-r-*-*-15-*-*-*-*-*-iso8859-* -geometry 120x88'
alias img='eog .'
alias ungz='tar zxvf'
alias s='ls -1 | grep -i'
alias lf='leafpad'
alias up='source ~/.bashrc;'
#alias pas='sudo pacman-color -S'
#alias pacman='pacman'
alias grep='grep --color=auto'
alias ls='ls --color=auto'
alias cdwin='cd /media/windows/'
alias rmsecure='bash /usr/local/bin/rmsecure.sh'
alias unins='bash /usr/local/bin/unins.sh'
alias modins='bash /usr/local/bin/modins.sh'
alias _c='bash /usr/local/bin/_c.sh'
alias sc='bash /usr/local/bin/sc.sh'
alias dn='. /usr/local/bin/dn.sh $1'
#alias comando='bash /usr/local/bin/comando.sh; source ~/.bashrc'
alias abs='evince /media/descargas/bash/abs-guide.pdf&'
alias ttouch='bash /usr/local/bin/ttouch'
#alias cdprompt='. /usr/local/bin/cdprompt.sh'
alias usb='. /usr/local/bin/usb'
alias wiki='perl /usr/local/bin/wiki'
#alias t='thunar .'
alias pc='pcmanfm .'
alias mq='/etc/rc.d/mysqld start'
alias v='vim'
alias nocomment='egrep -v "^\s*(#|$)"'
alias findcontent='grep -HURi'
alias cdp='cd "$(ls -d */ | dmenu -l $(ls -d */ | wc -l) -nb "#100" -nf "#b9c0af" -sb "#000" -sf "#afff2f" -i)"'
alias ~='cd ~'
#alias remove='pacman -R'
alias vi='vim'
alias :q='exit'
alias txtmsn='find ./.purple/logs/msn/leorocko13\@hotmail.com/ -type f -exec cat {} \; | grep -i "$1"'
alias emp='cd ~/escuela/administracion/empresa_miercoles/'
alias galias='cat ~/.bash_aliases'
alias mathematica='mathematica -noSplashscreen'
alias cdn='cd ~/NetBeansProjects/'
alias logmysql='mysql -u root -plein23 agencia'
alias tablas='mysql -u root -plein23 agencia -e "show tables \G" | grep -v "^\*" | sed "s/.*:\s\(.*\)/\1/"'
alias soft='cd /media/descargas/Software/'
alias mkx='sudo chmod +x $1'
alias t='todo'
# Apagado y reiniciado:
alias reboot='sudo reboot'
alias poweroff='sudo poweroff'

# Ping a google, útil para checar conexión
alias pingg='ping -c 4 google.com'
# alias windows linux
alias move='mv'
alias copy='cp'
# Facebook
alias muro='fbcmd mywall'
alias estado='fbcmd status $1'
alias restado='fbcmd restatus $1'
alias notices='fbcmd notices'
alias mutuo='fbcmd mutual $1'
alias amiwhix='cat ~/.amigos'
alias fbon='fbcmd finfo online_presence =all | grep -v "offline" | grep -v "^NAME.*ONLINE_PRESENCE$"'
# instalar programa
alias sagi='sudo apt-get install'
alias th='thunar'


.bash_functions

Código (bash) [Seleccionar]
function ebash
{
elegido=`ls -1 ~/.bash* | dmenu -l $(ls -1 ~/.bash* | wc -l)`
[ -z "$elegido" ] && return
vim "$elegido"
}
function sch
{
[ ! -d "$HOME/escuela" ] && {
echo -e "No existe la carpeta escuela"
return;
}
lines=`find ~/escuela -maxdepth 1 -type d | grep -v "^\.$" | wc -l`
cd `find ~/escuela -maxdepth 1 -type d | grep -v "^\.$" | sort | dmenu -l $lines`
}

# Function para ver los registros de determinada tabla.
function verr()
{
:
#BD=$(cat ~/.bash_variables | grep -i "^BD" | cut -f2 -d '=')
#n_tablas=$(mysql -u root -plein23 $BD -e "show tables \G" | grep -v "^\*" |  wc -l);
#mysql -u root -plein23 $BD -e "select * from `mysql -u root -plein23 $BD -e 'show tables' | dmenu -l ${n_tablas}`" | more
}

# Funcion que cambia la BD definida en el archivo ~/.bashrc
function changebd()
{
:
#n_tablas=$(mysql -u root -plein23 agencia -e "show databases \G" | grep -vi "^\*" | sed "s/.*:\s\(.*\)$/\1/g" | wc -l)
#BD=$(mysql -u root -plein23 agencia -e "show databases \G" | grep -vi "^\*" | sed "s/.*:\s\(.*\)$/\1/g" | dmenu -l ${n_tablas})
#sed -i "s/^BD=\(.*\)/BD=$BD/" ~/.bash_variables
#source ~/.bash_variables

}
function hacerx()
{
read -p "Name : " name
touch "$name";
sudo chmod +xwr "$name";
}
function cddev()
{
elegido=`cat << EOF | dmenu -l 3
cpps
perl
bash
EOF
`
cd /media/descargas/$elegido
}
function extract() {
   local c e i

   (($#)) || return

   for i; do
       c=''
       e=1

       if [[ ! -r $i ]]; then
           echo "$0: file is unreadable: \`$i'" >&2
           continue
       fi

       case $i in
       #*.t@(gz|lz|xz|b@(2|z?(2))|a@(z|r?(.@(Z|bz?(2)|gz|lzma|xz)))))
              #c='bsdtar xvf';;
       *.7z)  c='7z x';;
       *.Z)   c='uncompress';;
       *.bz2) c='bunzip2';;
       *.exe) c='cabextract';;
*.tar.gz) c='tar xzf';;
*.tgz) c='tar zxvf';;
       *.gz)  c='gunzip';;
       *.rar) c='unrar x';;
       *.xz)  c='unxz';;
       *.zip) c='unzip';;
       *)     echo "$0: unrecognized file extension: \`$i'" >&2
              continue;;
       esac

       command $c "$i"
       e=$?
   done

   return $e
}

function on()
{
ping -c 1 www.google.com &> /dev/null || {
echo -e "\E[31;47mOFFLINE";
sudo dhcpcd
tput sgr0;
} && {
echo -e "\E[31;47mONLINE";
notify-send "ONLINE"
tput sgr0;
}

}

function my()
{
sudo chown -R ${USER} "$1"
}

function cdl()
{
cd "$1"
ls -1
}


function enc()
{
if [ $# -ne 1 ]
then
echo -e "`basename $0` file";
exit 1;
fi
gpg -c "$1" && rm -rvf "$1"
}

function dec()
{
if [ $# -ne 1 ]
then
echo -e "`basename $0` file";
exit 1;
fi
gpg "$1" && rm -rvf "$1"

}

function exes()
{
echo -e "\e[1;31mNúmero de ejecutables : $(find . -maxdepth 1 -type f -iname "*.exe" -print | wc -l)"
find . -maxdepth 1 -type f -iname "*.exe" -print
tput sgr0
}

function f()
{
cat<<EOF>/tmp/factorial.bc
define factorial(n)
{
i = 1;
p = 1;
while(i <= n)
{
p *= i++
}
return (p);
}
n = read();
print n, "! = ", factorial(n), "\n";
quit;
EOF
echo -e "$1" | bc -ql /tmp/factorial.bc
rm -f /tmp/factorial.bc
}

function dictionary(){
curl -s -A 'Mozilla/4.0'  'http://www.google.com/search?q=define%3A+'$1  | html2text -ascii -nobs -style compact -width 500 | grep "*" | head -n 5
}

function mktar() { tar cvf  "${1%%/}.tar"     "${1%%/}/"; }
function mktgz() { tar cvzf "${1%%/}.tar.gz"  "${1%%/}/"; }
function mktbz() { tar cvjf "${1%%/}.tar.bz2" "${1%%/}/"; }

function hgg()
{
if [ $# -lt 1 ] || [ $# -gt 1 ]; then
echo "search bash history"
  echo "usage: mg [search pattern]"
else
  history | grep -i $1 | grep -v hg
fi
}

function ask()
{
   echo -n "$@" '[y/n] ' ; read ans
   case "$ans" in
       y*|Y*) return 0 ;;
       *) return 1 ;;
   esac
}

function box() { t="$1xxxx";c=${2:-#}; echo ${t//?/$c}; echo "$c $1 $c"; echo ${t//?/$c}; }

function translate() { wget -qO- "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$1&langpair=%7C${2:-en}" | sed 's/.*{"translatedText":"\([^"]*\)".*/\1\n/'; }

function fp()
{
find . -type f -iname "$1" -print
}

function c()
{
echo -e "$*" | bc -l
}

# Creates an archive from given directory
function mktar() { tar cvf  "${1%%/}.tar"     "${1%%/}/"; }
function mktgz() { tar cvzf "${1%%/}.tar.gz"  "${1%%/}/"; }
function mktbz() { tar cvjf "${1%%/}.tar.bz2" "${1%%/}/"; }

# recursively fix dir/file permissions on a given directory
function fix()
{
 if [ -d $1 ]; then
       find $1 -type d -exec chmod 755 {} \;
     find $1 -type f -exec chmod 644 {} \;
       else
           echo "$1 is not a directory."
             fi
}

function safeedit() {
 cp -vi $1 ${1}.backup && vim $1
}

function kk()
{
read -p "Nombre de archivo > " name
cp -vi ~/Escritorio/pl.pl /media/descargas/perl/$name
}

# Ver foto de perfil de un amigo en facebook localmente, con eog
function verfoto()
{
fbcmd allinfo "$1" | grep "pic_big" | grep "jpg$" | awk '{print $2}' | xargs wget -O "${1}.jpg"
eog "${1}.jpg"
rm -rvf "${1}.jpg"
}
function isprime () {
   perl -wle 'print "Prime" if (1 x shift) !~ /^1?$|^(11+?)\1+$/'
}
function cd2iso {
   dd if=/dev/cdrom of=$1 bs=2048 conv=sync,notrunc
}
function fbfriends()
{
fbcmd friends | sed "s/\([0-9]*\)\s\(.*\)/\2/g" | grep -v "^ID.*" 2>&1 | tee ~/.amigos
}

# Función para imprimir un archivo en pantalla
function csg()
{
cat `ls -1 | grep -i "$1" | dmenu -l $(ls -1 | grep -i "$1" | wc -l)` | more
}


Saludos.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Exe U.

~/.bashrc

Código (bash) [Seleccionar]
# If not running interactively, don't do anything
[ -z "$PS1" ] && return

#Settings
PS1="\033[1;36m\]┌─[\[\e[37;1m\]\u@\[\e[37;1m\]\H\[\033[1;36m\]]\[\033[1;36m\]─[\[\033[36;1m\]\w\[\033[1;36m\]]\n\[\033[1;36m\]└─> \[\e[0m\]"
export HISTCONTROL=ignoredups:ignorespace
export HISTSIZE=1000
export HISTFILESIZE=3000
export EDITOR="vim"
export BROWSER="/usr/bin/opera"
shopt -s checkwinsize
shopt -s histappend

#Alias
alias color="~/Scripts/color.sh"
alias ls="ls --color=auto"
alias otf2tff="~/Scripts/otf2ttf.sh"
alias limpiar="~/Scripts/limpiar.sh"

#TTYcolor
if [ "$TERM" = "linux" ]; then
   echo -en "\e]P0000000" #black
   echo -en "\e]P85F5F5F" #grey
   echo -en "\e]P1935D73" #darked
   echo -en "\e]P9973D61" #red
   echo -en "\e]P25D927D" #darkgreen
   echo -en "\e]PA97B292" #green
   echo -en "\e]P3048992" #brown
   echo -en "\e]PB6EB4BF" #yellow
   echo -en "\e]P46F8CB2" #darkblue
   echo -en "\e]PC819ABF" #blue
   echo -en "\e]P58350A9" #darkmagenta
   echo -en "\e]PD7D5D92" #magenta
   echo -en "\e]P64F6784" #darkcyan
   echo -en "\e]PE6F7B8E" #cyan
   echo -en "\e]P7ADC6C9" #lightgrey
   echo -en "\e]PFD0CCCC" #white
   clear
fi


~/.vimrc

Código (bash) [Seleccionar]
set mouse=a
set autoindent
set smartindent
set nocompatible
set number
syntax on
set ic
set hls
set incsearch
set history=500
set smarttab
set shiftwidth=4
set shortmess+=I
set nobackup
map ,n :tabnew
map ,1 :tabprevious
map ,2 :tabnext
map ,m :tabmove
map ,f :tabfind
colorscheme ir_black
set tabstop=4
set nowrap
set spelllang=es
map <f5> :NERDTreeToggle<cr>


Salu2
Archlinux + DWM | /blog

leogtz

Gracias.

Tal parece que a nadie le gusta sacarle partido al shell.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

j3d1

Perdona mi ignorancia pero que es eso y para que me sirve o que ventajas me trae hacerlo o editarlo ? :xD
Saludos
Knowledge Is Only Achieved With Sacrifice
May The Force Be With You Always


leogtz

Si eres de usar el shell o la consola, puedes crear funciones para controlar tu entorno, borrar archivos, obtener información de X cosa, lo que sea, la única limitación es tu imaginación.

El archivo .bashrc es un archivo que contiene comandos o configuraciones que se ejecutan cuando haces abres la consola. Los alias como su nombre lo indica son alias u otros nombres para los comandos, es decir:

alias sagi='sudo apt-get install'
Tecleando sagi en la consola es como si pusieras "sudo apt-get install", puedes automatizar todo lo que quieras.

Puedes crear tus propias funciones, yo puse algunas interesantes, como descargar una imagen de perfil de X amigo en Facebook para luego visualizarla con el visualizador (valga la redundancia) eog de GNOME.

En fin, si estás en GNU/Linux es obligado que sepas como trabajan dichos archivos.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Akai

#5
Todavía no he tenido tiempo entre examenes y otras cosas como para ponerme más en serio a ello T_T mi bashrc "básico"

Código (bash) [Seleccionar]

archey3
# Check for an interactive session
#[ -z "$PS1" ] && return

alias ls='ls --color=auto '
alias todo='todo.sh '
alias archey='archey3 '
alias cdakai='cd /media/Akai-Data '
alias cower='cower --color=always --target=/home/akai/build '
alias pacmans='sudo pacman-color '
alias pacman='pacman-color '
alias actualitzar='sudo pacman-color -Syyu && cower -u -dd '
alias axel='axel -n 4 -v -a '
alias sudo='sudo '

export CHROOTDIR=/opt/archroot
export PATH=$PATH:/home/akai/scripts
export EDITOR=nano
# Colour Codes
export Cyan="\[\e[m\]\[\e[0;36m\]"
export Red="\[\e[m\]\[\e[0;31m\]"
export White="\[\e[m\]\[\e[1;37m\]"
export LightCyan="\[\e[m\]\[\e[1;36m\]"
export LightRed="\[\e[m\]\[\e[1;31m\]"

# Code for a cool Prompt
function pre_prompt
{
   newPWD="${PWD}"
   user="whoami"
   host=$(echo -n $HOSTNAME | sed -e "s/[\.].*//")
   datenow=$(date "+%a, %d %b %y")
   let promptsize=$(echo -n "--($user@$host ddd, DD mmm YY)---(${PWD})---" \
                | wc -c | tr -d " ")

   width=$(tput cols)

   if [ `id -u` -eq 0 ]
   then
       let fillsize=${width}-${promptsize}+1
   else
       let fillsize=${width}-${promptsize}-1
   fi

   fill=""

   while [ "$fillsize" -gt "0" ]
   do
       fill="${fill}─"
       let fillsize=${fillsize}-1
   done

   if [ "$fillsize" -lt "0" ]
   then
       let cutt=3-${fillsize}
       newPWD="...$(echo -n $PWD | sed -e "s/\(^.\{$cutt\}\)\(.*\)/\2/")"
   fi
}

# Set prompt colour
if [ `id -u` -eq 0 ]
then
   cText="${LightRed}"
   cBorder="${Red}"
else
   cText="${LightCyan}"
   cBorder="${Cyan}"
fi

PROMPT_COMMAND=pre_prompt

# Display Prompt
PS1="${cBorder}┌─(${White}\u@\h \$(date \"+%a, %d %b %y\")${cBorder})─\${fill}─(${cText}\$newPWD\
${cBorder})────┐\n${cBorder}└─(${cText}\$(date \"+%H:%M\")${cBorder})─>${White}"



por si alguien tiene curiosidad de saber en qué resulta el archey3 o el prompt, dejo una imagen.



PD: si, editor nano, todavía no he tenido tiempo para introducirme en el arte del vim-fu
PD2; LA versión extraña del kernel, es el resultado de estar bisectando para encontrar en qué punto ha petado el driver de las gráficas intel >,< de normal es 2.6.39-ARCH o 2.6.39-pf, dependiendo de qué kernel use.

leogtz

Se ve bastante bien, yo tengo un prompt parecido, pero en vez de la fecha puse el valor de retorno del comando anterior.

┌─[0 leo@leo-945GCT-M ~]$
└─> jkasd
jkasd: orden no encontrada
┌─[127 leo@leo-945GCT-M ~]$
└─>
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

j3d1

Algun manual o tutorial que recomienden para aprender a crea mi propio bashrc y para personalizar mi prompt  :xD
Knowledge Is Only Achieved With Sacrifice
May The Force Be With You Always


Akai

@j3d1:
Busca en google sobre ello, seguro que encontrarás muchísima documentación ahí. Lo básico es que no deja de ser otro fichero en shell script


Cita de: Leo Gutiérrez. en 28 Junio 2011, 20:52 PM
Se ve bastante bien, yo tengo un prompt parecido, pero en vez de la fecha puse el valor de retorno del comando anterior.

No lo había pensado. Tengo la impresión que lo voy a incorporar.


leogtz

Tan sencillo como poner "$?" y listo.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com