aboutsummaryrefslogtreecommitdiffstats
path: root/vimrc
AgeCommit message (Collapse)Author
2017-09-19vimrc: Set 'backspace=indent,eol,start'Teddy Wing
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.
2017-08-11vimrc: Add window number to statuslineTeddy Wing
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.
2017-07-04vimrc: Add ZA mapping to update all buffers and quitTeddy Wing
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.
2017-05-04vimrc: Add <leader>sm mapping to split chained method callsTeddy Wing
A mapping to invoke our new 'whitespace-method-chain' plugin.
2017-04-24vimrc: Make <C-w><C-q> a no-opTeddy Wing
Get rid of this freaking good-for-nothing command that keeps g'all dang messing me the frak up and closing my windows!
2017-04-07vimrc: Make <C-w>q command a no-opTeddy Wing
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.
2017-03-13vimrc: Add `<leader>Z` mapping to run a single RSpec testTeddy Wing
Using `<leader>z` works well, but now I want to be able to run a single test so I can iterate while writing it.
2017-02-21vimrc: Change <leader>tf mapping to <leader>zTeddy Wing
Typing <leader>tf was too many keys. I wanted to shorten the command a bit to make running tests really quick.
2017-02-17vimrc: Add <leader>tf mapping to run current RSpec fileTeddy Wing
Leverage 'vim-rspec' to make it easy for us to run the current spec file.
2016-04-18vimrc: Remove the `Wrap` commandTeddy Wing
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).
2016-02-15vimrc: Configure SlimvTeddy Wing
* 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.
2015-11-12vimrc: Output `scrollbind` value with <leader>sbTeddy Wing
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.
2015-10-28vimrc: Add a mapping to open the current file in ChromeTeddy Wing
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.
2015-08-18vimrc: Add mapping to copy current file pathTeddy Wing
Copy the current file's path with `pbcopy` to make it faster to perform operations on the current file in another shell window.
2015-08-16vimrc: Remove `g:loaded_auditory` settingTeddy Wing
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).
2015-08-12vimrc: Make <leader>gp mapping saferTeddy Wing
Use `git log -p -- [file]` instead of the version without hyphens to explicitly tell `git log` that we want the log of a file.
2015-08-12vimrc: Add <leader>gp mapping for git log of current fileTeddy Wing
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.
2015-07-27Track project-specific config filesTeddy Wing
* 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`.
2015-07-24vimrc: Correct spelling in commentTeddy Wing
"changes" instead of "changed"
2015-07-23vimrc: Change pick command from `find` to `ag`Teddy Wing
Speed things up by getting a file list from `ag`.
2015-07-23vimrc: Move comment to git-blamer pluginTeddy Wing
Made more sense to move it there since all the functionality is now being performed in the plugin instead of in my vimrc.
2015-07-23Add git-blamer pluginTeddy Wing
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`.
2015-07-23vimrc: Open `git blame` in less instead of in new splitTeddy Wing
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.
2015-07-23vimrc: Add mapping to `git blame` current bufferTeddy Wing
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.
2015-07-21vimrc: Add Netrw mappings for :Explore and its siblingsTeddy Wing
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.
2015-07-14vimrc: Add <leader>bb mappingTeddy Wing
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.
2015-07-14vimrc: Set `splitright`Teddy Wing
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.
2015-07-13vimrc: Update pick mappingsTeddy Wing
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.
2015-07-13vimrc: Remove Command-T configurationTeddy Wing
Now that I've removed Command-T (236fcf4d68da2c5076b37081dc13ff4b865c528a), we can remove its configuration.
2015-07-13vimrc: Remove Unite configurationTeddy Wing
Now that I've removed Unite in 95256a840f492eaa45c8a0e78791a0916821f9a9, we can remove its configuration and mappings.
2015-07-13vimrc: Remove CtrlP configurationTeddy Wing
Since I removed CtrlP in 1aa1b4d3258c8d962f965da3e33ee20ee206d5f0, we can remove its configuration also.
2015-07-13vimrc: Add extended pick.vim buffer mappingsTeddy Wing
* 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.
2015-07-13vimrc: Use `find` as pick.vim commandTeddy Wing
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.
2015-07-13vimrc: Add mappings for pick.vimTeddy Wing
Mappings to run pick and open a buffer from it in various configurations.
2015-07-12vimrc: Use ag for Ctrl-PTeddy Wing
Use `ag` as Ctrl-P's grep program to make it faster.
2015-07-12vimrc: Add unite.vim mappingsTeddy Wing
* 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
2015-07-11vimrc: Disable auditory.vimTeddy Wing
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.
2015-07-11vimrc: Remove Autocommands sectionTeddy Wing
This was commented out anyway and I don't plan on using the vimrc sourcing command. This section can be safely removed.
2015-07-11vimrc: Remove CopyModeToggle commandTeddy Wing
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.
2015-07-10vimrc: Remove <leader>bl mappingTeddy Wing
I wasn't using it, instead favouring `:ls`, so we don't need it any more.
2015-07-09vimrc: Add Netrw window size & sort optionsTeddy Wing
* 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.
2015-07-06vimrc: Remove NERD Tree configurationTeddy Wing
Now that I removed NERD Tree (6d7ea2be365959b8aa348d5942846111a85480f6), this configuration is no longer needed.
2015-07-06vimrc: Remove EasyGrep configurationTeddy Wing
Now that I removed the EasyGrep plugin (52927a37be4b978417c7835cebeed975ef90e0ca), we no longer need to set its configuration options.
2015-06-04vimrc: Fix CHANGELOG dateTeddy Wing
Wanted to capture the fact that the `g:netrw_liststyle` change was made on 2015.06.02 but forgot to change to today's date when adding the CHANGELOG entry for the `<leader>or` change.
2015-06-04vimrc: Add <leader>or mappingTeddy Wing
Add a mapping to open the current file in `ranger`, the console file explorer. I already have a similar command to open the current file in Finder, but these days I find ranger a bit more pleasant to use, particularly if I'm already in the console. It's definitely more keyboard-friendly. This came about because I was trying to copy a file and the built-in Vim methods for doing so that I know of were more complicated than I wanted. 1. Use :saveas [filename] This method does the right thing in copying but the copy goes to Vim's :pwd. I wanted it to go to the same directory the file was in. 2. Use Netrw The mf mt mc commands were a little confuddling to me. It makes sense when copying a file to a directory, but how do I duplicate a file in the same directory? 3. Use :shell Opens a shell, but in Vim's :pwd, not in the current file's directory. Maybe I should make a mapping for this.
2015-06-04vimrc: set g:netrw_liststyle=3Teddy Wing
Use Netrw's tree view. This makes Netrw function a lot more like NERDTree. In fact, that's the primary reason why I use NERDTree in the rare cases that I need it these days. We can probably remove NERDTree from the plugin list after this. Thanks very much to Mo Zhu for introducing me to this setting at BostonRB project night last Tuesday. Would have committed it then but I was thinking I'd do some plugin changes and uninstall NERDTree before doing so. I haven't and now I want to make another change to my vimrc so let's just commit this now.
2015-01-06virmc: Set backupcopy=yesTeddy Wing
Add setting to preserve file attributes, such as creation date. I went to check the creation date of a file I know was created at least a year ago, but its creation date was today and the same as its modified date. I had recently edited the file in Vim, and that ended up being the problem. This setting ensures that files are reused so their attributes are preserved. What an unfortunate loss of history since last April.
2014-11-15vimrc: Add <leader>p mappingTeddy Wing
Add a mapping to read from the OS X pasteboard. Pasting directly in insert mode is excessively slow when dealing with a lot of text. Likely caused by too much redrawing. Reading directly from the OS X pasteboard is much faster, so add a mapping for that.
2014-11-12vimrc: set sessionoptions-=optionsTeddy Wing
This setting tells vim not to save options & mappings in persisted sessions. This allows open buffers, windows, and tabs to be saved but configuration options and plugins to be different when reopening a session. Useful if I've made modifications to my vimrc after creating a session. Found out about this from https://github.com/xolox/vim-session. Really cool that this exists. It's been something that annoyed me for a while but I never bothered to find a solution.
2014-11-05vimrc: Add command mode mappings for word movementTeddy Wing
Never being able to move by word in command mode would always get on my nerves. In particular if I was trying compose a long command. Sure you can bring up a command window but that's not what I think of first when starting to writing a command. Luckily `cmdline.txt` in vim help has the answer! Since Shift-Left/Right doesn't work for me and I'm using Control-Left/Right to move between OS X spaces (not even sure if the Control modifier version works for this either), create bash/emacs-style mappings to move between words in command mode. I'm sorry I didn't find this earlier but it does feel good to have a big annoyance solved.