| Age | Commit message (Collapse) | Author | 
 | 
For jumping to a tag, `<C-]>` is great, but I usually like to have the
current buffer stay open and look at the tag source in a different
window. This new mapping gives me a quick way to do that.
 | 
 | 
Searches the `<cword>` with Ripgrep for more streamlined project
searching.
 | 
 | 
Toggling spell checking should not happen for the entire Vim session,
only for the current buffer. We don't want to be editing regular text
and then switch into a code file and find spell checking turned on.
 | 
 | 
One frustration that happens every so often is having to manually type
`:set spe<Tab><CR>` or `:set nosp<Tab><CR>` to turn spell checking on
and off. It's not often that I need to toggle spell checking, but when I
do, I notice it as being bothersome. I think it's finally time to add a
mapping for this.
 | 
 | 
When any of my RSpec commands are used, log a message to a file that
says which one was just used.
These statistics will be used for an experiment, gathering frequency
data over time. That data will then be used to determine how often the
lowercase variants are used, and how often the uppercase variants are
used. If uppercase occurs more often than lowercase, the commands should
be swapped, because lowercase takes less time to type.
 | 
 | 
Like our unicode "hole" mapping to run the whole spec file, use "flag in
hole" (U+26F3) to run the nearest spec test. This corresponds to
Shift-extra ISO key on my keyboard.
 | 
 | 
I'm now doing some work on a machine with an ISO keyboard layout, which
gives me one extra key compared to my normal ANSI layout (really cool!).
To take full advantage of this, I created a custom software keyboard
layout that changes the extra key next to the left "Shift" key to a
unicode U+1F573 "hole" character. Since I'm not actually going to be
typing that character, it gives me an easy hook for remapping. This new
mapping allows me to run a spec file with a single key press.
 | 
 | 
I had previously defined this command as 'af83'-project-specific. Now
I've become used to it and want to use it everywhere, so promote it to a
global mapping.
 | 
 | 
I installed my Vim config on another machine recently and noticed that
it didn't automatically set 'bs=2', like in my normal environment. Put
this in our vimrc because it should just work everywhere.
 | 
 | 
Thanks to "aegray" for asking how to jump to a specific window using
automatic numbers instead of using `<C-w>hjklw` on Freenode#vim. This
prompted me to look up `:h winnr()`, which I remember from a long time
ago, and learn that you can use the window numbers with `<C-w>w`, as in
`3<C-w>w`.
This will make it much easier to move around between my sometimes many
windows. In order to be able to tell which window has which number, add
the `winnr()` to the statusline.
 | 
 | 
Tested this out for a while without committing it and it turns out I
actually started using this mapping frequently enough, so I'm saving it.
The real impetus for this is that I recently (in the last couple months)
set:
    $ git config commit.verbose 1
to get a diff of changes to be committed in my Vim commit buffer. This
is really handy. Often I end up opening Vim windows to see the rest of
the diff while still having my commit message open and visible. Thus my
normal workflow of writing a commit message and committing with ZZ no
longer works in these cases where there are multiple windows open. To
more quickly save the commit message and quit all windows, this command
comes in really handy.
 | 
 | 
A mapping to invoke our new 'whitespace-method-chain' plugin.
 | 
 | 
Get rid of this freaking good-for-nothing command that keeps g'all dang
messing me the frak up and closing my windows!
 | 
 | 
When hitting <C-w> to initiate a window command, I kept accidentally
hitting <C-w>q and quitting the window I was in. This was extremely
aggravating, because (1) it would be surprising and confusing for a
couple seconds, and (2) I'd have to stop what I was doing and get my
workspace back to what it was before.
I was accidentally hitting it because the 'w' and 'q' keys are so close
together.
The only difference I can see between <C-w>q and <C-w>c is that the 'q'
version will quit Vim if the current window is the last one. I don't see
myself needing that functionality with 'ZQ' readily available. Since
closing a window is a destructive operation, I prefer it being farther
away on the keyboard (even though 'c' is right next to 'v' and that
confusion has messed me up sometimes).
All that said, get rid of this command that has a more useful
equivalent, that I don't see myself using, and that has messed me up at
least three times already.
 | 
 | 
Using `<leader>z` works well, but now I want to be able to run a single
test so I can iterate while writing it.
 | 
 | 
Typing <leader>tf was too many keys. I wanted to shorten the command a
bit to make running tests really quick.
 | 
 | 
Leverage 'vim-rspec' to make it easy for us to run the current spec
file.
 | 
 | 
I never use this command, so I don't really see a need to keep it in my
vimrc. Removing it along with the "Commands" section marker (since that
was our only command defined here).
 | 
 | 
* Set a Lisp implementation (SBCL)
* Define the SWANK command (copied from Slimv's documentation). The docs
  provide three different command options, one that creates a new OS X
  Terminal window using `osascript` (which I didn't really like as it's
  intrusive), and the other two using `screen` and `tmux`. Opted for the
  `screen` version.
 | 
 | 
Since our `<leader>sb` mapping is a toggle command for `scrollbind`,
it can be hard to know whether it's on or off after invoking it if you
haven't been paying attention. Output `setl scrollbind?` after
performing the toggle so that the current `scrollbind` value displays in
the command line area to make it clear what happened.
 | 
 | 
This is to make it easier to preview HTML files in a browser. Otherwise
I would either open the file in Finder with `<leader>of` and drag it to
a browser in my Dock or open a new terminal, `cd` into the right
directory, start a Python `SimpleHTTPServer`, and finally navigate to
`localhost:8000/___` in a browser. This makes doing the first option
quick and easy.
Since we're opening the file directly, this will use the `file://`
protocol, but that's enough to be able to take a look at small pages.
 | 
 | 
Copy the current file's path with `pbcopy` to make it faster to perform
operations on the current file in another shell window.
 | 
 | 
Setting this is no longer necessary to make Auditory sounds turn off by
default because they now start off as of version 0.1.0 (we're now at
0.1.2 – 8d14cf29ab0f9200a23362980f94bfa232810c4c).
 | 
 | 
Use `git log -p -- [file]` instead of the version without hyphens to
explicitly tell `git log` that we want the log of a file.
 | 
 | 
Open the current file's `git log -p [file]` with a quick mapping so I
don't have to switch to another terminal or Ctrl-Z and type in the git
command manually. This is something that I do quite often so it felt
ripe for a mapping to make it quicker.
 | 
 | 
* Remove project files from the ignore list
* Add project config files as they are now
* Create a new untracked file to keep track of project directory paths
The reason why I never tracked project files in the repo was because I
didn't want my file paths to be shared publicly. But over time I've been
making changes to my `flashnotes.vim` config and wanted to be able to
track those changes, especially the `ctags` ones.
Now, I'm able to track those config files and still hide my file paths
from public view using a set of environment variables defined in
`.vim/projects/file-paths.vim`.
 | 
 | 
"changes" instead of "changed"
 | 
 | 
Speed things up by getting a file list from `ag`.
 | 
 | 
Made more sense to move it there since all the functionality is now
being performed in the plugin instead of in my vimrc.
 | 
 | 
Create a plugin that runs a `git blame` and opens the result in a new
vertical split. This one builds on
a43d3caaea3682f58aee6dc295e48cca415067c5 but improves it by adding some
extra niceties including moving to the line the cursor was on in the
original file, setting appropriate flags so that the split doesn't
appear in the buffer list and becomes non-modifiable, and setting cursor
and scroll binding so that the buffers scroll together. An `autocmd`
resets the original buffer to `noscrollbind` and `nocursorbind`.
 | 
 | 
Easier and more quick-and-dirty. Doesn't create a new buffer. I'll
probably switch back to the Vim split version, but I'd like to get it to
open on the current line before I do.
 | 
 | 
Inspired by a mapping I happened upon in Ben Orenstein's vimrc, this
will open a new vertical split with the `git blame` of the current
buffer. Still needs to be refined, but this should be useful without
having to install Fugitive (as I'm not convinced I need most of what the
plugin provides).
Noticed recently that I've been `git blame`ing a file I have open in
Vim, and need to type out the file path into a terminal in order to get
to it. Would be much quicker to just open this in Vim.
 | 
 | 
Typing `:E` is not difficult, and while `:Sex` and `:Vex` were not great
to type, they were okay. What really tipped me over the edge was `:Rex`.
And since I use Netrw more frequently these days, it's finally annoying
enough that I want some more efficient mappings for these commands.
 | 
 | 
Added a bunch of mappings in 061f2a2298c2c8419d9cab61749d9db3758f8690 to
open buffers in all manner of ways but forgot the simplest one: open in
the current window. Do that here with a <leader>bb mapping.
 | 
 | 
Open new vertical splits to the right of the current window because I
often end up moving my newly-opened split to the right anyway. Makes
sense to have Vim do it for me and save a few keystrokes.
 | 
 | 
Use our old Command-T mapping but extend it to work in the context of
pick, where we need to have separate mappings depending on how we want
to open a file or buffer.
 | 
 | 
Now that I've removed Command-T
(236fcf4d68da2c5076b37081dc13ff4b865c528a), we can remove its
configuration.
 | 
 | 
Now that I've removed Unite in 95256a840f492eaa45c8a0e78791a0916821f9a9,
we can remove its configuration and mappings.
 | 
 | 
Since I removed CtrlP in 1aa1b4d3258c8d962f965da3e33ee20ee206d5f0, we
can remove its configuration also.
 | 
 | 
* Add new mappings to have pick.vim open buffers in a new split, vsplit,
  or tab
* Add `PickBufferListCommand` function copied directly from the pick.vim
  plugin to give me the correct pick list since the function isn't
  accessible outside the script. We can then combine this list with the
  appropriate opening command.
 | 
 | 
By default pick.vim uses `git ls-files` for its file listing. This
ignores untracked files, which I would like to be able to open. Use a
custom pick command copied from the pick.vim source to show untracked
files in the pick list.
 | 
 | 
Mappings to run pick and open a buffer from it in various
configurations.
 | 
 | 
Use `ag` as Ctrl-P's grep program to make it faster.
 | 
 | 
* Mappings to open files and buffers with Unite.vim in split buffers and
  tabs
* Use fuzzy matching
* Use `ag` as the backing grep program to make things faster
 | 
 | 
Wish there was an easy way to toggle the plugin on and off with a
command in the plugin (e.g. `:AuditoryToggle`). Would be nice to enable
it when I wanted to and have it disabled at other times. I like it but
there are times when I don't want my computer to be playing music when
I'm typing or editing text. Disable it by default.
 | 
 | 
This was commented out anyway and I don't plan on using the vimrc
sourcing command. This section can be safely removed.
 | 
 | 
Haven't used this command in ages because it doesn't really work well.
These days I use my <leader>c visual mapping for copying text instead of
copying it directly from the window. This command also doesn't handle
copying from split windows.
Pretty soon I should install Chris Toomey's text object copy plugin as
that will be quite a bit nicer than my current system.
 | 
 | 
I wasn't using it, instead favouring `:ls`, so we don't need it any
more.
 | 
 | 
* Move Netrw settings down to the Plugins section
* Set an empty window size to make new :Vexplore windows open at
  half-width instead of being fixed at 25-ish columns (or whatever I had
  set for NERD Tree). Even after removing NERD Tree, for some reason
  :Vexplore refuses to open windows at the default unset window size,
  always using 25-ish.
* Set case-insensitive sort so that uppercase file names don't appear
  above lowercase file names because it's confusing for the list to not
  be fully alphabetical from top to bottom.
 | 
 | 
Now that I removed NERD Tree (6d7ea2be365959b8aa348d5942846111a85480f6),
this configuration is no longer needed.
 |