Commit graph

37 commits

Author SHA1 Message Date
Stephanie Viccari
3001fd3d65 Replace CtrlP with FZF
Summary:
Using CtrlP has proven to be slower and has fewer features. We've been
switching over to FZF on a frequent enough basis that it feels
appropriate to make FZF the new default for fuzzy searching.

By swapping out Ctrlp in favor of FZF, this should not break anyone's
fuzzy search but it will replace the tool that executes the search.

Co-authored-by: Chris Toomey <chris@ctoomey.com>
2019-08-21 14:37:31 -04:00
Geoff Harcourt
e729b1deb3 Update ALE location on Github
ALE has moved to an organization, so the old repository location gets
redirected.
2019-08-20 14:23:43 -04:00
Geoff Harcourt
107bf0b17d Remove vim-coffeescript from default plugins
With the popularity of Babel and ES6, it seems like Coffeescript is no
longer a standard, frequently-used part of the thoughtbot toolset. This
change removes the vim-coffeescript plugin from our default set. Users
who want to retain it can add it back to their `vimrc.bundles.local`.
2019-07-22 08:41:56 -04:00
Geoff Harcourt
c0317cedb0 Remove Vundle shim and deprecation warning
We've been using vim-plug over Vundle since 5724d12 (April 2015). Users
have had long enough to migrate their `vimrc.bundles.local` to use
vim-plug's `Plug` command.
2017-10-06 13:12:45 -04:00
Derek Prior
e0ff6ef15f
Move definition of has_async
We have an rcm `post-up` hook that installs plugins after running
`rcup`. It does this by directly loading the `.vimrc.bundles` file,
which means our regular `.vimrc` file is not sourced. This lead to
`has_async` being undefined.

By moving the definition into the `vimrc.bundles` we ensure it's
available when that `post-up` hook runs. It remains available when
needed in `vimrc` because we use it there *after* sourcing the bundles.
2017-08-10 09:35:50 -04:00
Derek Prior
7593dafebb
Require Vim 8 or NeoVim
Now that we're using `ALE`, we're making use of the async features
available in Vim8 and NeoVim. If you try to use these dotfiles on Vim 7,
you'll get a host of errors from ALE.

This change does two things:

1. It writes an error when starting in an unsupported vim version.
2. It skips loading ALE in those versions.

The thinking behind the second change is to leave vim in a more usable
state with minimal annoyance after the initial error.
2017-08-10 00:27:18 -04:00
Derek Prior
8ac75ba56b
Replace Syntastic with ALE
ALE is an Asynchronous Linting Engine which works with Vim 8 and NeoVim
to lint your code "as you type". It does so without blocking the main
thread by using the asynchronous features of both of those Vim versions.

A number of us in Boston have been using ALE for some time now with
great success. The asynchronous nature means linting does not block
other interactions with Vim and it's been nice to get linting feedback
more often than buffer write.

Many of us find the "as-you-type" linting to be performant enough to
actually be a distraction, so this PR tones that down some. With this
configuration, ALE will lint on cursor hold durations of 1 second and
when leaving insert mode in addition to buffer write, buffer read, and
file type change.
2017-08-06 10:33:48 -04:00
Dan Croak
bab2ddc9f0 Add JavaScript syntax highlighting
It seems like JavaScript/ES6 is becoming more common for us to run into
in the wild compared to CoffeeScript
with the advent of Babel / transpiling.

Eventually, we'll probably want to remove kchmck/vim-coffee-script.
Users working on CoffeeScript applications would need to move that
plugin into their personal dotfiles.
2017-05-08 10:36:07 -07:00
Geoff Harcourt
3bbab420bc Allow user to ignore some default vim plugins
The `UnPlug` command allows a user to remove a plugin from vim-plug's
list of plugins to install/activate. This command can be used to
selectively ignore shared plugins from `vimrc.bundles` without needing
to overwrite the entire file with a personal replacement.

This change is dependent on vim-plug continuing to use the `g:plugs`
global variable.
2017-04-28 14:54:44 -04:00
Stephanie Viccari
5ed9e4aa73 Add support for Elixir and EEx syntax highlighting 2017-02-21 10:31:52 -05:00
Geoff Harcourt
3d867615a1 Add rhubarb.vim for fugitive Github support
We do most of our client work on Github,
and a large portion of our personal projects
are hosted there.

fugitive.vim currently supports
opening the current file in the current branch
in a browser at Github through the `Gbrowse` command.
That command is [slated to be removed to make fugitive
agnostic about coding sites](fugitive-docs).

The capability to quickly generate or view a Github URL
specific to the current branch
can be useful in PR reviews
or other discussions about code.

This change adds rhubarb.vim,
a plugin that implements the slated-to-be-removed
functionality of fugitive that works with Github.
It also provides the user with omni-completion (`<C-x><C-o>`)
to autocomplete Github issues, issue URLs, and collaborators.

[fugitive-docs]: 18d6d1ab82/doc/fugitive.txt
2016-04-08 11:06:55 -04:00
Brian Takashi Hooper
248fb06332 Update vimrc.bundles
Fixed typo
2016-03-24 22:56:40 +09:00
Derek Prior
8c8409e394 Use vim-test instead of vim-rspec
vim-rspec is an excellent Vim plugin for running RSpec tests but there
are many of us who run different kinds of tests on any given day.
vim-test is built to support a wide array of test frameworks and
strategies for executing those tests.

vim-test ships with support for several languages and frameworks in use
on thoughtbot projects today:

* Ruby (both RSpec and Minitest)
* Elixir (ExUnit and espec)
* Go (gotest)
* Python (nose, pytest, djangotest, djangonose)
* JavaScript (jasmine, mocha)

It also supports several execution strategies I have seen people use at
thoughtbot:

* Dispatch
* vim-tmux-runner
* Tslime
* Terminal.app/iTerm.app tabs
* neovim's native terminal
* `:!`

vim-test is extensible, both for additional languages/frameworks and for
execution contexts. See: https://github.com/janko-m/vim-test
2016-03-11 10:47:50 -05:00
Caleb Thompson
fe31b3943b
Add golang configuration samples
Add suggested Go configuration for Vim into the `ftplugin` folder and
the vim-go plugin. We may use this as a template for adding further
language-specific settings in the future for languages that aren't
universally used by the team.

* `fatih/vim-go`: The de-facto Golang Vim plugin.
* `softtabstop=2`: As a side effect of setting how "large" a tab is in
  insert mode, Vim is able to delete tabs with the backspace key in
  Insert mode.
* `compiler go`: Necessary for plugins using the `make` command, such as
  vim-dispatch.
* `listchars=tab:\ \ `: Don't highlight tabs as "»·" as if they were
  problem characters in go files. Also recommended for *sh files and any
  others which which should also be using tabs.
* `go_fmt_command = "goimports"`: Tell vim-go to use the `goimports`
  command rather than `gofmt`, which attempts to find dependencies and
  adds them to your import statement.
2016-01-08 11:22:01 -06:00
Geoff Harcourt
a67c2823b7 Use vim-projectionist and vim-rake
vim-projectionist provides vim-rails-like shortcuts for alternate and
related files. It allows users to provide a custom set of "projections"
that map filetypes to their alternate and related counterparts. Custom
mappings can be declared in a JSON-like syntax.

This change provides authors of gems and other non-Rails Ruby projects
with access to the alternate file `:A` shortcuts to navigate between
code and specs. vim-rake automatically maps code/spec mappings for Ruby
files if vim-projectionist is available.

Close #381.
2015-10-03 11:26:03 -04:00
Josh Leichtung
ae4fa0a19a Update shim that helps migrate to vim-plug
Improve the shim to catch both `Plugin` and `Bundle` commands
for users that are still using Vundle's older syntax.
2015-05-08 14:50:49 -07:00
Greg Lazarev
7aba66a9d6 Remove ctags.vim plugin
The plugin seems abandoned and doesn't work with our setup as it is.
2015-05-08 14:45:32 -07:00
Daniel Nolan
58bb228f75 Remove matchit.zip plugin
* This plugin is no longer maintained and is included in vim by default.
* Per the docs at https://github.com/vim-scripts/matchit.zip
  Since vim 6.0, matchit.vim has been included in the standard vim distribution,
  under the macros/ directory; the version here may be more recent.
* The version included in the vim macros directory is the same version
  being added in the vimrc.bundles file from github version 1.13.2
2015-05-08 14:36:22 -07:00
Geoff Harcourt
5724d124a5 Use vim-plug over vundle
[vim-plug](https://github.com/junegunn/vim-plug) has a number of
advantages over Vundle:

* Installs and updates plugins very quickly in parallel
* Can lock plugins at versions/tags
* Can rollbacks updates (useful if a plugin breaks) and take/reload
  snapshots of current state
* Optionally lazily-load plugins when their relevant command is invoked
* Execute post-update hooks for plugins with compiled extensions, etc.

vim-plug uses a DSL very close to Vundle (simplest form is `Plug` vs.
`Plugin`), and here it is set to continue to use the same plugin
location that Vundle was using before.

After updating, users will need to
1. Rename `Plugin` lines in `.vimrc.bundles.local` to use `Plug`
2. Run `:PlugInstall` (the post-up hook does this)
2015-04-27 19:14:22 -04:00
Jessie A. Young
b3cb23830d Remove GitHub colorscheme
* Every time I pull updates from this repo into my own dotfiles, I have to
  reconfigure my preferred theme (solarized)
* Seems like there is not a majority or plurality of thoughbotters using a
  single colorscheme
* Easiest to just not specify a colorscheme
* See https://forum.upcase.com/t/why-is-the-default-vim-theme-on-dotfiles-is-github/4232
2015-03-18 10:16:39 -07:00
Daniel Nolan
c0ca64b48a Replace kien/ctrlp.vim with ctrlpvim/ctrlp.vim
* kien has not commited to ctrlp.vim in over a year.
* Switch to ctrlpvim/ctrlp.vim since it is actively maintained.
2014-12-12 10:16:13 -05:00
Robert Speicher
c55d4ddff9 Change rename.vim to Tim Pope's vim-eunuch
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! ❤️
2014-09-11 09:11:13 -04:00
Derek Prior
eb5fe555ae
Add vim-repeat plugin
Repeat.vim remaps `.` in a way that plugins can tap into it. With this
plugin you can, for instance, repeat commands from surround.vim.
2014-08-28 08:50:00 -04:00
Tute Costa
876f375ce7 Revert "Add vim-multiple-cursors plugin for Vim"
This reverts commit 422a6f6d33.

Want to go through a PR cycle.
2014-08-12 13:55:48 -04:00
Tute Costa
422a6f6d33 Add vim-multiple-cursors plugin for Vim 2014-08-12 13:53:01 -04:00
Robert Speicher
0191762805 Update for Vundle's new interface
* Vundle now lives at gmarik/Vundle.vim

See https://github.com/gmarik/Vundle.vim/blob/master/doc/vundle.txt#L345-L369
2014-07-25 17:20:57 -07:00
Sean Doyle
3cb5ef5ccb Adds vim-ruby back to vimrc.bundles
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.
2014-06-26 14:26:52 -04:00
Jessie A. Young
b9d24c014a Remove Zeus and Cucumber references
* Spring is now built in to Rails:
  http://weblog.rubyonrails.org/2014/4/8/Rails-4-1/
* Haven't used Cucumber on a project in over a year
2014-06-06 16:01:37 -04:00
Dan Croak
5f02a1d93d Run commands interactively from vim
This allows us to do things like:

    <Leader>r migrate
2014-04-25 14:49:37 -07:00
Derek Prior
98a9a87557 Add vim-mkdir
`: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.
2014-04-25 14:38:02 -07:00
Greg Lazarev
f3a3db2bd9 Add syntax highliting for slim via vim-slim
We are using slim more and more on projects.
2014-04-09 10:22:54 -07:00
Joe Ferris
fefd1d4509 Only set nocompatible once as early as possible
* Setting nocompatible has side effects
* Setting it again (even if set) repeats side effects
* Settings like ruler will be reset if set again
2014-03-19 15:05:30 -04:00
Ian C. Anderson
830add127d Switch to a vim-matchit repo that exists
- tsaleh deleted his mirror
- switch to vim-scripts version
2014-03-13 11:46:58 -04:00
David Larrabee
5994cf10eb Adds local configuration file for vim bundles 2013-08-03 10:10:51 -04:00
Greg Lazarev
387d9142d1 Remove unused vim plugins
* haml, html and markdown highlight still work without these plugins
* treetop and textile are likely very situational
* unsure if anyone is using greplace
2013-07-19 10:34:47 -07:00
Derek Prior
341b7c93dd Add syntastic for syntax checking
* enable check on open: I want to know about any broken windows from the
  start.

* disable inline highlights: the line markers are sufficient.
2013-05-10 08:58:54 -04:00
Caleb Thompson
deb7ee5948 Move Bundles into a separate file
I've had this in [my own dotfiles] for a while now, and really like
having the separation of what I consider to be code/configuration from
what to me feels more like a Gemfile, in that it lists out all of the
external dependencies in a single place.

[my own dotfiles](https://github.com/calebthompson/dotfiles/blob/master/vim/vimrc.bundles.symlink)

* Awesomer vundle integration:
  * Refactor .vimrc and .vimrc.bundles to support standalone
    BundleInstall.
  * Install vim bundles as part of install.sh without sourcing the
    normal vimrc, which prevents error messages from uninstalled
    plugins referenced in the main vimrc.
2013-04-26 09:25:32 -04:00