Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thoughtbot/dotfiles

A set of vim, zsh, git, and tmux configuration files.
https://github.com/thoughtbot/dotfiles

Last synced: 20 days ago
JSON representation

A set of vim, zsh, git, and tmux configuration files.

Awesome Lists containing this project

README

        

Los dotfiles de thoughtbot
==========================

![prompt](http://images.thoughtbot.com/thoughtbot-dotfiles-prompt.png)

Requerimientos
--------------

Establece zsh como tu shell de inicio de sesión:

chsh -s $(which zsh)

Instalar
--------

Clona en tu laptop:

git clone [email protected]:thoughtbot/dotfiles.git ~/dotfiles

(o [haz un fork y mantenlo actualizado](http://robots.thoughtbot.com/keeping-a-github-fork-updated)).

Instala [rcm](https://github.com/thoughtbot/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](https://github.com/thoughtbot/dotfiles/blob/master/rcrc).

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` y `LICENSE`, que son parte
del repositorio `dotfiles`, 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.

Actualizar
----------

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!

Haz tus propias modificaciones
------------------------------

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 que `psql`
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 = [email protected]

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 de zsh
----------------------

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`.

Configuraciones de vim
----------------------

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

¿Qué viene incluido?
-----------------

Configuración [vim](http://www.vim.org/):

* [fzf](https://github.com/junegunn/fzf.vim) para hallazgo difuso de archivos/buffer/tags.
* [Rails.vim](https://github.com/tpope/vim-rails) 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]([https://github.com/janko-m/vim-test)
* Establece `` 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](https://github.com/ggreer/the_silver_searcher) en lugar de Grep cuando esté disponible.
* Map `ct` para re-indexar [Exuberant Ctags](http://ctags.sourceforge.net/).
* Usa [vim-mkdir](https://github.com/pbrisbin/vim-mkdir) para crear automáticamente directorios
no existentes antes de escribir el buffer.
* Usa [vim-plug](https://github.com/junegunn/vim-plug) para administrar plugins.

[tmux](http://robots.thoughtbot.com/a-tmux-crash-course)
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](http://git-scm.com/):

* 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 rebasar `origin/master` en el branch.
Usa `git up -i` para rebases interactivos.
* Agrega el hook `post-{checkout,commit,merge}` para re-indexar tus ctags.
* Agrega `pre-commit` y `prepare-commit-msg` stubs que delegan hacia tu
configuración local.
* Agrega el alias `trust-bin` para anexar el `bin/` de un proyecto al `$PATH`.

Configuración de [Ruby](https://www.ruby-lang.org/en/):

* Agrega binstubs confiables al `PATH`.
* Descarga el administrador de versiones ASDF.

Alias de Shell y scripts:

* `b` para `bundle`.
* `g` sin argumentos es `git status` y con argumentos funciona como `git`.
* `migrate` para `bin/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
-------

Gracias [Contribuyentes](https://github.com/thoughtbot/dotfiles/contributors)!
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.

Licencia
--------

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

Acerca de thoughtbot
--------------------

![thoughtbot](http://presskit.thoughtbot.com/images/thoughtbot-logo-for-readmes.svg)

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][community].
Estamos [disponibles para ser contratados][hire].

[community]: https://thoughtbot.com/community?utm_source=github
[hire]: https://thoughtbot.com/hire-us?utm_source=github