Establece zsh como tu shell de inicio de sesión:
chsh -s $(which zsh)
Clona en tu laptop:
git clone git://github.com/thoughtbot/dotfiles.git ~/dotfiles
(o haz un fork y mantenlo actualizado).
Instala rcm:
brew install rcm
Instala los dotfiles:
env RCRC=$HOME/dotfiles/rcrc rcup
Después de la instalación inicial, puedes ejecutarlo sin establecer la variable RCRC
(rcup
establecerá un enlace simbólico (symlink) del repo rcrc
hacia ~/.rcrc
para futuras
ejecuciones de rcup
). Ve el ejemplo.
Este comando creará enlaces simbólicos (symlinks) para los archivos de configuración en tu directorio principal.
Establecer la variable de entorno le dice a rcup
que use las opciones de
configuración preestablecidas:
- Excluye los archivos
README.md
,README-ES.md
yLICENSE
, que son parte del repositoriodotfiles
, pero no necesitan enlazarse simbólicamente. - Le da precedencia a las modificaciones personales que por defecto están en
~/dotfiles-local
- Por favor configura el archivo
rcrc
en caso de que quieras hacer modificaciones personales en un directorio distinto.
De vez en cuando deberías descargar las actualizaciones de estos dotfiles, y ejectuar
rcup
para ligar cualquier nuevo archivo e instalar los nuevos plugins de vim. Nota Debes ejecutar
rcup
después de descargar para asegurarte que todos los archivos de los plugins
estén instalados adecuadamente. Puedes ejecutar rcup
con seguridad muchas veces
para actualizar pronto y muy seguido!
Crea un directorio para tus modificaciones personales:
mkdir ~/dotfiles-local
Pon tus modificaciones en ~/dotfiles-local
anexado con .local
:
~/dotfiles-local/aliases.local
~/dotfiles-local/git_template.local/*
~/dotfiles-local/gitconfig.local
~/dotfiles-local/psqlrc.local
(proveemos.psqlrc.local
en blanco para prevenir quepsql
arroje un error, pero debes sobreescribir el archivo con tu propia copia)~/dotfiles-local/tmux.conf.local
~/dotfiles-local/vimrc.local
~/dotfiles-local/vimrc.bundles.local
~/dotfiles-local/zshrc.local
~/dotfiles-local/zsh/configs/*
Por ejemplo, tu ~/dotfiles-local/aliases.local
tal vez se vea así:
# Productivity
alias todo='$EDITOR ~/.todo'
Tu ~/dotfiles-local/gitconfig.local
tal vez se vea así:
[alias]
l = log --pretty=colored
[pretty]
colored = format:%Cred%h%Creset %s %Cgreen(%cr) %C(bold blue)%an%Creset
[user]
name = Dan Croak
email = dan@thoughtbot.com
Tu ~/dotfiles-local/vimrc.local
tal vez se vea así:
" Color scheme
colorscheme github
highlight NonText guibg=#060606
highlight Folded guibg=#0A0A0A guifg=#9090D0
Si prefieres prevenir la instalación de un plugin predeterminado de vim en .vimrc.bundles
,
puedes ignorarlo sacándolo con UnPlug
en tu ~/.vimrc.bundles.local
.
" Don't install vim-scripts/tComment
UnPlug 'tComment'
UnPlug
puede ser usado para instalar tu propio fork de un plugin o para instalar
un plugin compartido con opciones personalizadas distintas.
" Only load vim-coffee-script if a Coffeescript buffer is created
UnPlug 'vim-coffee-script'
Plug 'kchmck/vim-coffee-script', { 'for': 'coffee' }
" Use a personal fork of vim-run-interactive
UnPlug 'vim-run-interactive'
Plug '$HOME/plugins/vim-run-interactive'
Para extender tus git
hooks, crea scripts ejecutables en
~/dotfiles-local/git_template.local/hooks/*
files.
Tu ~/dotfiles-local/zshrc.local
tal vez se vea así:
# load pyenv if available
if command -v pyenv &>/dev/null ; then
eval "$(pyenv init -)"
fi
Tu ~/dotfiles-local/vimrc.bundles.local
tal vez se vea así:
Plug 'Lokaltog/vim-powerline'
Plug 'stephenmckinney/vim-solarized-powerline'
Configuraciones adicionales para zsh pueden ir en el directorio ~/dotfiles-local/zsh/configs
. Este
tiene dos subdirectorios especiales: pre
para archivos que deben ser cargados primero y post
para archivos que deben cargarse al final.
Por ejemplo, ~/dotfiles-local/zsh/configs/pre/virtualenv
hace uso de varias características
de shell que tal vez se vean afectadas por tu configuración, por lo tanto cárgalo primero:
# Load the virtualenv wrapper
. /usr/local/bin/virtualenvwrapper.sh
Establecer una vinculación clave puede ocurrir en ~/dotfiles-local/zsh/configs/keys
:
# Grep anywhere with ^G
bindkey -s '^G' ' | grep '
Algunos cambios, como chpwd
, deben ocurrir en ~/dotfiles-local/zsh/configs/post/chpwd
:
# Show the entries in a directory whenever you cd in
function chpwd {
ls
}
Este directorio está a la mano para combinar dotfiles de múltiples equipos; un equipo
puede agregar el archivo virtualenv
, otro el archivo keys
y un tercero el archivo chpwd
.
El archivo ~/dotfiles-local/zshrc.local
se carga después de ~/dotfiles-local/zsh/configs
.
Similar al directorio de configuración para zsh descrito arriba, vim
automáticamente descarga los archivos en el directorio ~/dotfiles-local/vim/plugin
. Sin embargo, este no
tiene el mismo soporte para los subdirectorios pre
ni post
que tiene nuestro zshrc
.
Este es un ejemplo ~/dotfiles-local/vim/plugin/c.vim
. Se carga cada vez que inicia vim,
sin importar de nombre del archivo:
# Indent C programs according to BSD style(9)
set cinoptions=:0,t0,+4,(4
autocmd BufNewFile,BufRead *.[ch] setlocal sw=0 ts=8 noet
Configuración vim:
- fzf para hallazgo difuso de archivos/buffer/tags.
- Rails.vim para una mejor navegación de la estructura
de archivos de Rails via
gf
y:A
(alterno),:Rextract
parciales,:Rinvert
migraciones, etc. - Ejecuta muchos tipos de pruebas desde vim
- Establece
<leader>
a un sólo espacio. - Navega entre los últimos dos archivos con espacio-espacio
- Resaltado de sintaxis para Markdown, HTML, JavaScript, Ruby, Go, Elixir, y más.
- Usa Ag en lugar de Grep cuando esté disponible.
- Map
<leader>ct
para re-indexar Exuberant Ctags. - Usa vim-mkdir para crear automáticamente directorios no existentes antes de escribir el buffer.
- Usa vim-plug para administrar plugins.
tmux configuración:
- Mejora la resolición del color.
- Eliminar desechos administrativos(bombre de sesión, nombre de host, tiempo) en la barra de estatus.
- Establece el prefijo a
Ctrl+s
- Suaviza el color de la barra de estatus de un verde chillante a un gris claro.
Configuración para git:
- Agrega el alias
create-branch
para crear branches. - Agrega el alias
delete-branch
para borrar branches. - Agrega el alias
merge-branch
para fusionar los branches en master. - Agrega el alias
up
para buscar y rebasarorigin/master
en el branch. Usagit up -i
para rebases interactivos. - Agrega el hook
post-{checkout,commit,merge}
para re-indexar tus ctags. - Agrega
pre-commit
yprepare-commit-msg
stubs que delegan hacia tu configuración local. - Agrega el alias
trust-bin
para anexar elbin/
de un proyecto al$PATH
.
Configuración de Ruby:
- Agrega binstubs confiables al
PATH
. - Descarga el administrador de versiones ASDF.
Alias de Shell y scripts:
b
parabundle
.g
sin argumentos esgit status
y con argumentos funciona comogit
.migrate
parabin/rails db:migrate db:rollback && bin/rails db:migrate db:test:prepare
.mcd
para crear un directorio e ir a él.replace foo bar **/*.rb
para buscar y reemplazar en una lista dada de archivos.tat
para adjuntar a una sesión de tmux llamada igual que el directorio actual.v
para$VISUAL
.
Gracias Contribuyentes! Además, gracias a Corey Haines, Gary Bernhardt, y otros por compartir sus dotfiles y otros scripts de shell que derivaron en la inspiración para los artículos en este proyecto.
dotfiles está protegida por copyright © 2009-2017 thoughtbot. Es un software gratis, y tal vez
redistribuido bajo los términos especificados en el archivo de la [LICENCIA
]
[LICENCIA
]: /LICENSE
dotfiles es mantenido y creado por thoughtbot, inc. Los nombres y los logos de thoughtbot son marca registrada de thoughtbot, inc.
Amamos el código de fuente abiarta! Ve nuestros otros proyectos. Estamos disponibles para ser contratados.