Fugitive was updated to switch to horizontal diffs on narrow screens.
Everyone I've seen experience this behavior finds it disorienting. This
setting forces a vertical diff without users having to use different
shortcuts to enter diff mode.
Does what rename.vim does (`:Move` or `:Rename`) **plus**:
* Adds `:Unlink` or `:Remove` to delete the current buffer + file
* Adds `:Mkdir` (with no argument, create the current file's containing
directory)
* Adds `:SudoWrite` if you forget to edit a file as root
* Automatically chmods a file to `+x` if it starts with `#!`
* Tim Pope! ❤️
Just before loading `~/.zshrc.local`, load:
1. `~/.zsh/configs/pre/**/*`
2. `~/.zsh/configs/**/*` # excluding pre and post
3. `~/.zsh/configs/post/**/*`
About the zsh glob:
- `.`: only produce normal files.
- `-`: follow symlinks to their final file; skip any broken links.
- `N`: do not complain about zero matches.
Big ups to Pat Brisbin for finding `N`.
* Remove unnecessary `uniq`
* Look for tags in tmp/tags or .git/tags
* Send errors to /dev/null if the file(s) do not exist
See http://tbaggery.com/2011/08/08/effortless-ctags-with-git.html for an
explanation behind the reasoning for .git/tags.
I wanted to add my own customizations after reading @mike-burns' post on
[`psqlrc`](http://robots.thoughtbot.com/an-explained-psqlrc).
As a result of this change, `.psqlrc` requires that a `.psqlrc.local`
exist in the home folder because `psql` cannot do conditional sourcing
of files in the style that we use in other foundation dotfiles. Touching
the file to ensure it exists (even if blank) prevents `psql` from
exiting with an error if the user does not provide their own custom
configuration.
Additional changes:
* Updating the documentation with regard to which files get excluded.
Running `zg` adds words to the `spellfile`:
4f5a2edc33http://robots.thoughtbot.com/vim-spell-checking
Setting the spellfile keeps it out of its default location, `vim/spell`, which
would otherwise be inside thoughtbot/dotfiles. We don't necessarily want to
share the `spellfile` across the team.
This is for homebrew binaries to work.
Load `rbenv` after adding `$HOME/.bin` and `/usr/local/bin` to `PATH`, but
before adding project-specific binstubs.
Removal in deb7ee5948
was accidental.
Also, removes `vim/bundle` directory as it is no longer useful to us, since
`vundle` creates it when it needs to.
The Syntastic HTML linter will warn on propriety attributes. The
likelihood that you *accidentally* typed "ng-repeat" is low. Let's just
assume you know what you're doing and ignore warnings about "ng-*"
attributes.
* Switch order from "[git branch][pathname]" to "basename git branch %".
* Remove noisy brackets.
Example old:
[master][~/dev/thoughtbot/dotfiles]
Example new:
dotfiles dc-prompt %
With `shiftround` enabled, using `>>` will indent the line to the next
multiple of `shiftwidth`. This is useful when you are indenting
improperly indented code.
`:e some/non_existent_directory/new_file.txt` usually errors out because
the directory does not exist, but with `vim-mkdir` the non-existent
directory will be created automatically.
Project should be moving over to spring, as this is the 'blessed'
approach and is part of suspenders. Leaving these functions around adds
yet another layer of indirection to consider when trying to run these
commands:
* function wrapper
* binstub
* rbenv shim
* actual binary
* This option adds a lot of noise to test output
* Extra noise often means scrolling
* The profile includes red, which makes me think tests fail
* Profiling isn't useful when running one or a few tests
* I'm usually not in the mindset of profile tests, so I ignore it
* "to the $HISTFILE incrementally (as soon as they are entered), rather than
waiting until the shell exits"
* replace any duplicate in the history, not just the previous duplicate: allows
for a cleaner history
* `.zhistory` is more idiomatic than `.zsh_history`
Often mistyping things like `gi tst` causes `gi` alias to trigger the install of
the `tst` gem. This is quite annoying and too close to `git` command which we
run much more often than `gem install`. With bundler we should almost never run
`gem install`.
Default setting is `.,w,b,u,t,i`:
* `.`: scan the current buffer ('wrapscan' is ignored)
* `w`: scan buffers from other windows
* `b`: scan other loaded buffers that are in the buffer list
* `u`: scan the unloaded buffers that are in the buffer list
* `t`: tag completion
* `i`: scan current and included files
The default setting is more likely to find a useful match, and modern
machines can search many open and unloaded buffers without pausing.
This frequently catches false positives for aliases, particularly for
subcommands. It also takes just as long to look at the autocorrect
prompt and select "y" as it does to just retype the command yourself.
While trying out the approach outlined in Croaky's latest [blog post], I
realized that running `rcup` would not also pull updates from my local
extensions. If you clone your extensions as `dotfiles-local`, this
update will pick them up.
Non-existent directories are ignored by rcup, so it won't cause issues
if you don't have `dotfiles-local`.
[blog post]: http://robots.thoughtbot.com/manage-team-and-personal-dotfiles-together-with-rcm
* easier when everything is just one file
* most (if not all) interactive shells are login shells and we likely want those
settings for interactive shells