Age | Commit message (Collapse) | Author |
|
On a couple of occasions I've thought it would be useful to have this,
so let's activate it.
|
|
Don't preserve indentation on empty lines in JavaScript files.
|
|
Add a mapping to close tabs with multiple windows more quickly.
|
|
I kept getting E211 errors when switching Git branches with
added/missing files or E321 errors. Normally, I'd get the error once,
dismiss it, and be done with it, but on a new machine with a recent Vim
install, the errors kept coming back up every few seconds,
insupportable.
Unless I can think of something better, take a heavy-handed approach and
disable this on new Vims.
|
|
|
|
I wrote the `s:SaveCommentColor()` function using a lambda for
`filter()`ing. However, not all Vims have `lambda` support. And it
doesn't exist before Vim 7.4 I think. Use this guard to avoid causing
errors on startup for those Vims without lambdas.
|
|
|
|
When diff mode is deactivated, the old values for 'cursorline' and the
Comment highlight colour should be restored.
Thanks to Tony Mechelynck
(http://vim.1045645.n5.nabble.com/template/NamlServlet.jtp?macro=user_nodes&user=28373)
for the tip on how to save and restore highlight colours:
> The following is untested. It requires Vim version 7.
>
> function SaveCursorColor()
> redir => highlight
> silent hi Cursor
> redir END
> if highlight =~ 'links to '
> let s:hl-link = matchstr(highlight, 'links to \zs\S*')
> elseif highlight =~ '\<cleared\>'
> let s:hl-link = 'NONE'
> else
> let s:hl-link = ''
> for substr in ['term', 'cterm', 'ctermfg', 'ctermbg',
> \ 'gui', 'guifg', 'guibg', 'guisp']
> if highlight =~ substr . '='
> let s:hl-{substr} = matchstr(highlight,
> \ substr . '=\S*')
> else
> let s:hl-{substr} = ''
> endif
> endfor
> endif
> endfunction
> function RestoreCursorColor()
> if !exists('s:hl-link')
> echoerr 'Cursor not saved, cannot restore'
> return
> endif
> hi clear Cursor
> if s:hl-link == ''
> exe 'hi Cursor' s:hl-term s:hl-cterm s:hl-ctermfg
> \ s:hl-ctermbg s:hl-gui s:hl-guifg s:hl-guibg
> \ s:hl-guisp
> elseif hl-link != 'NONE'
> exe 'hi link Cursor' s:hl-link
> endif
> endfunction
>
>
> Best regards,
> Tony.
http://vim.1045645.n5.nabble.com/How-to-save-restore-the-hightlight-for-cursor-td1182624.html
|
|
Sometimes the run-on-save functionality doesn't work. This gives me a
quick way to run the formatter when it doesn't happen automatically.
|
|
|
|
The default is 10. Set it to a ridiculously large number so that we can
open one tab per file during a code review.
|
|
Make it faster to compile tests without running them.
|
|
The `Plug` mapping wasn't finding my `main` package from a sub-package.
Change it to force running for the main package in the `pwd` directory.
|
|
Makes the code a little nicer and more extensible without the line
continuations.
Only change the highlight colour for the 'twilight256' colour scheme.
|
|
* Changes `Comment` colour for better readability on red backgrounds.
* Turns of 'cursorline' so that diff background highlighting doesn't
get shadowed.
|
|
To enable `:GoCallers` by telling it to search in the root package.
|
|
Mappings to build projects and run tests.
|
|
So that hidden project files can be opened quickly like the rest.
|
|
For better documentation.
|
|
The Vim-Go plugin uses the location list for certain operations. Add
these shortcuts to make it quicker to navigate.
|
|
'vim-go' displays this error message when running older versions of Vim:
vim-go requires Vim 7.4.2009 or Neovim 0.3.1, but you're using an older version.
Please update your Vim for the best vim-go experience.
If you really want to continue you can set this to make the error go away:
let g:go_version_warning = 0
Note that some features may error out or behave incorrectly.
Please do not report bugs unless you're using Vim 7.4.2009 or newer or Neovim 0.3.1.O
If I'm running a version of Vim that would cause the error message to
display, I'm probably not editing Go code, so it doesn't matter. In this
case, the error message just interferes with normal operations.
Use `goimports` instead of `go fmt` for on-save formatting.
|
|
Now that I'm going to be doing more Go development, switch to the full
featured Vim Go plugin.
|
|
Switching to 'vim-go'.
|
|
For Courier Maildrop `.mailfilter` syntax highlighting. Makes it a bit
more pleasant to edit my new work email filters.
|
|
After recently installing my vimrc on a newer machine and trying Gundo,
I ended up with this error message:
Gundo requires Vim to be compiled with Python 2.4+
Fortunately, it also supports Python 3 via a flag. Thanks to Carl
Patenaude Poulin (https://bitbucket.org/cpoulin) for this solution:
https://bitbucket.org/sjl/gundo.vim/issues/42/about-python3-support#comment-32289592
|
|
|
|
Trying out Typescript in a project. Instead of getting a Typescript Vim
plugin, just use the Javascript syntax highlighter for simplicity.
|
|
Includes visual and operator-pending mode mappings.
|
|
Use FSwitch to swap .h and .m files in the current window when `<C-^>`
is pressed.
|
|
Makes switching to alternate files much more efficient. Will be using
this for Objective-C implementation and header files, but it could be
useful in other contexts, even outside the C realm.
|
|
|
|
Previously, the custom highlighting I had added for TODO files would
infect the highlighting of all other files in the same Vim session.
Only change the highlighting of the `todoUndone` group so that it
doesn't affect anything else.
|
|
Use the plugin's ftplugin. This gives us the proper comment string.
|
|
Syntax highlighting for DomeKey mapping files.
|
|
Set the correct comment string for make.
|
|
Filetype plugins for Objective-C. Turns out editing ObjC in Vim is
somewhat surprisingly whoppingly better than Xcode. This gets
indentation set to 4-space tabs and sets the comment correct prefix
(Tcomment forces /* ... */).
Include `objcpp` also because ObjC header files get recognised by Vim as
ObjC++.
|
|
The `:TabsGrep` command now takes a glob instead of a regex pattern.
|
|
Provides a `:TabsGrep` command that enables `:tabs` output to be
filtered, making it easier to find out which tab a file is on.
|
|
Previously all we did was `echo` the generated URL to the command line.
This was mainly for debugging purposes, but it strikes me that this
would be nice to keep so that users can validate that the correct URL
was generated.
In addition to doing this, though, we need to provide an easy way to
send that URL string into other programs like chat or an input field in
a web browser. Copy the URL to the Mac OS X clipboard to make it easier
to share.
|
|
If there's a diff in the index, that will get included in the output of
this command, meaning that just after the SHA, there will be a
multi-line diff string that completely messes up the constructed URL.
Use the `--no-patch` flag to suppress diff output.
|
|
Improve performance by eliminating the functions from the `plugin` file.
Also introduces a new `github_url#GitHubURL()` function that serves as
an entry point into the plugin.
Add a `g:loaded_github_url` check to prevent plugin re-sourcing and be a
good Vim citizen.
|
|
I used this for testing purposes but it's no longer relevant.
|
|
Add doc comments to these functions.
|
|
If the command was executed as:
:6GitHubFileURL
we previously appended `#L6-L6` to the URL. This change appends only
`#L6` in that case.
|
|
Using a `count` of 0 allows us to determine in `s:FileURL` whether a
range was given on the command line.
This count needs to be passed into the function explicitly with
`<count>`.
|
|
A rough working implementation of a plugin that generates a GitHub URL
for the current file.
It gets the base URL from the current Git repo's `origin` remote and
uses the current commit SHA. Lines can also be highlighted by passing a
range to the command.
This makes it easier to share a bit of code that I see in the editor
with other people on my team in chat or the issue tracker.
|
|
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.
|
|
When the `<Enter>` key is pressed in the GitBlamer window, run
`!git show` on the commit from the current cursor line of the blame.
This allows a changed line to be inspected in the context of its
original changeset. It also saves me time from my previous workflow:
cpe^Zgit show <Apple-P><Enter>
|
|
Previously, when the GitBlamer window was closed, the window it was
opened from would not be re-focused. Because of this, you couldn't just
pick up where you left off, you had to run a window command first.
This change re-focuses the original window automatically, bringing you
right where you were before opening GitBlamer.
Unfortunately, this seemingly simple want is not easy to do in VimL.
There's a `WinLeave` autocmd, but that event gets executed _before_
leaving a window. Similarly, the `BufWinLeave` autocmd we already had
gets executed before the buffer is removed from the window. Because
these events happen before the window is left, running the `wincmd w`
command doesn't work. We need a way to run the command after the window
is closed, allowing us to work with the new window layout and window
numbers.
In order to run `wincmd w` at the proper time, we add a new autocmd upon
closing the GitBlamer window that gets executed when any window is
entered. That autocmd refocuses the correct window and removes itself,
having served its purpose.
I used a tab variable to store the window number because it was a way to
allow multiple GitBlamer instances in different tabs. Otherwise, the
autocmd would be attached to a window that isn't correct in other tabs.
Also, augroups can't have dynamic names, so we can't create them
programmatically, preventing us from having multiple autocmds with
different window numbers for different tabs. The disadvantage of using a
tab variable is that window focus restoration doesn't work when multiple
GitBlamers are opened in a single tab.
|
|
If `nowrap` is set, the plugin causes an error because it tries to
concatenate the `restore` variable which hasn't been defined. Define the
variable outside the `if &l:wrap` condition to ensure it's available for
concatenation.
|