These dotfiles personalize my system, which are based + inspired by
thoughtbot/dotfiles and work together
using the *.local
convention.
The dotfiles focus on ruby development with tools like git, tmux, vim and Ethan Schoonover solarized-theme in a Lubuntu Xfce4-terminal environment.
See also the unofficial guide to dotfiles on GitHub, why you want to track down your dotfiles and how to get started with a bootstrap!
Set zsh as your login shell:
chsh -s /bin/zsh
Than echo $0
will tell you /usr/bin/zsh
:-)
Set in the LXterminal the color scheme to Solarized or any other prefered one:
[Edit] > [Settings] > [Colors] > [Presets > Solarized(dark)]
Heads-up - If you run into trouble concerning terminal colors, check this excellent post from Peter Harkins for a general overview and "how things supposed to work" or a more specific approach concerning 256 colors in vim!
Get rcm:
sudo add-apt-repository ppa:martin-frost/thoughtbot-rcm
sudo apt-get update && apt-get install rcm
Or on iOS run brew install rcm
!
Clone onto your laptop:
cd ~/Development
git clone [email protected]:netzfisch/dotfiles.git
git clone [email protected]:thoughtbot/dotfiles.git dotfiles/thoughtbot
Generate the "glue":
env RCRC=$HOME/Development/dotfiles/rcrc rcup
This will create symlinks for config files in your home directory. To list all
created ones use lsrc
or delete all with rcdn
! See man rcup
for the
full feature set.
Do once:
cd ~/Development/dotfiles/thoughtbot
git remote add upstream [email protected]:thoughtbot/dotfiles.git
Each time you want to update from upstream/master:
git fetch upstream
git rebase upstream/master
To install more or update VIM plugins do
rcup
vim$ :PlugInstall
You can safely run $ rcup
multiple times to update.
zsh configuration:
b
forbundle
.g
with no arguments isgit status
and with arguments acts likegit
.migrate
forbin/rails db:migrate db:rollback && bin/rails db:migrate db:test:prepare
.mcd
to make a directory and change into it.replace foo bar **/*.rb
to find and replace within a given list of files.tat
to attach to tmux session named the same as the current directory.v
for$VISUAL
.- local additions
- aliases
tde
,ted
,tds
,tsd
to translate between englisch, german and spanisch with termittodo
to edit a plain text todo-file, located in the Dropbox folder
PATH
additions for
- aliases
tmux configuration:
- Improve color resolution.
- Remove administrative debris (session name, hostname, time) in status bar.
- Set prefix to
Ctrl+s
- Soften status bar color from harsh green to light gray.
git configuration:
- Adds a
create-branch
alias to create feature branches. - Adds a
delete-branch
alias to delete feature branches. - Adds a
merge-branch
alias to merge feature branches into master. - Adds an
up
alias to fetch and rebaseorigin/master
into the feature branch. Usegit up -i
for interactive rebases. - Adds
post-{checkout,commit,merge}
hooks to re-index your ctags. - Adds
pre-commit
andprepare-commit-msg
stubs that delegate to your local config. - Adds
trust-bin
alias to append a project'sbin/
directory to$PATH
. - local additions:
- Adds a
l
alias for tight, colored, log output - configures 'name and email'
- Adds a
Ruby configuration:
- Add trusted binstubs to the
PATH
. - Load the ASDF version manager.
vim configuration:
- fzf for fuzzy file/buffer/tag finding.
- Rails.vim for enhanced navigation of
Rails file structure via
gf
and:A
(alternate),:Rextract
partials,:Rinvert
migrations, etc. - Run many kinds of tests from vim
- Set
<leader>
to a single space. - Switch between the last two files with space-space.
- Syntax highlighting for Markdown, HTML, JavaScript, Ruby, Go, Elixir, more.
- Use Ag instead of Grep when available.
- Map
<leader>ct
to re-index ctags. - Use vim-mkdir for automatically creating non-existing directories before writing the buffer.
- Use vim-plug to manage plugins.
- local added plugins:
- lean & mean status/tabline
- github color scheme
- typescript syntax highlighting
- NERDTree
- find further plugins at VimAwesome
Thanks to ThoughtBot and all contributors!
These dotfiles are free software and may be redistributed under the terms specified in the LICENSE.