Age | Commit message (Collapse) | Author |
|
Use Vlime instead of Slimv for a Common Lisp environment.
|
|
Haven't been using this plugin. Recently started a Common Lisp project,
but am going to use Vlime instead, which seems to integrate better with
user configuration.
|
|
Don't change the author for moved lines.
|
|
Allow us to repeat system pasting using `.`.
|
|
I was having trouble with slow `<C-p>` completion, and figured out it
was due to the fact that I had about 300 buffers open.
Many of these buffers weren't being actively used, and were just loaded
in from Vim sessions past. When I removed the unloaded buffers,
completion sped up like a whistle.
Thanks to 'sidyll' (https://stackoverflow.com/users/557306/sidyll) on
Stack Overflow for explaining how to get "all" buffer numbers (or at
least all possible buffer numbers up to the highest one open), as well
as the filtering logic:
https://stackoverflow.com/questions/17931507/vimscript-number-of-listed-buffers/17933352#17933352
I leveraged the above to get the buffer numbers of all unloaded buffers,
then delete the buffers by number.
It was originally a temporary command-mode line, but I decided it could
be beneficial to save the code just in case I need it again.
|
|
I was having trouble with completion and I have a feeling that this
setting is confusing things.
|
|
Allow repeating the ArgWrap mapping via 'repeat.vim' to make it even
easier to use.
|
|
Alias `T` to `TComment` instead of using a cabbrev.
The abbreviation would mess up commands with "t" in them, like turning
`tjump` into `TCommentjump`.
Replace the abbreviation with a new `T` command that acts as an alias
for `TComment`. I didn't include argument completion because I don't use
that. Otherwise, replicate the `TComment` command's definition and pass
all parameters to it. This gives us a short alias for commenting, and
`T` is the first completion with `:t<Tab>`.
|
|
Adds operator-pending and visual mode mappings.
|
|
I was bemoaning the lack of `fo+=c` in Vim files, so decided to look
over the contents of `$VIMRUNTIME/ftplugin/vim.vim`. Since I didn't find
anything there that wasn't to my liking, I decided to activate the whole
ftplugin.
|
|
In TypeScript and Node.js, you can import a file `./directory/index.ts`
by importing `./directory`.
I wanted `gf` and friends to open the `index` file if the import refers
to a directory. By default, `gf` opens the directory using Netrw.
At first tried to do this by setting 'includeexpr' as follows:
setlocal includeexpr=<SID>FindFile(v:fname)
function! s:FindFile(fname)
echom 'FindFile: ' . a:fname
if filereadable(a:fname)
return a:fname
endif
return a:fname . '/index'
endfunction
This gave me the following error:
E120: Using <SID> not in a script context: <SID>FindFile
so I tried removing `<SID>`:
setlocal includeexpr=FindFile(v:fname)
function! FindFile(fname)
echom 'FindFile: ' . a:fname
if filereadable(a:fname)
return a:fname
endif
return a:fname . '/index.ts'
endfunction
The problem was, my 'includeexpr' function wasn't getting executed every
time I used `gf`, only some times. And it never ran when I used `gf` on
a directory.
After asking on Freenode#vim, 'crose' made the following suggestion:
augroup typescript_maybe_append_filename
au!
au BufEnter * if expand('<amatch>')->isdirectory()
\ | call s:maybe_append_filename()
\ | endif
augroup END
fu s:maybe_append_filename() abort
if getbufvar('#', '&ft', '') == 'typescript'
exe 'e ' .. expand('%:p') .. 'index.ts'
endif
endfu
This works, but it adds the Netrw directory buffer to the jumplist, and
feels more like a mitigation than a solution.
I looked at the following language ftplugins for inspiration:
* .../vim/8.2.1650/share/vim/vim82/ftplugin/ruby.vim
* https://github.com/moll/vim-node/blob/master/autoload/node.vim
These prompted me to override `gf` with a custom mapping since it looked
like 'includeexpr' wasn't going to be the right tool for this. The
`s:FindFile()` function has similar logic, but is now written as a map
rhs function, taking into account the different ways of invoking `gf`.
When defined as a script-local function, I at first kept getting this
error using `gf` on a directory:
E127: Cannot redefine function <SNR>111_FindFile: It is in use
Thanks to Ingo Karkat
(https://stackoverflow.com/users/813602/ingo-karkat) and this Stack
Overflow answer which describes how to keep the function in the same
file (so I didn't have to move it to an autoload function) and still
prevent it from being redefined:
https://stackoverflow.com/questions/22633115/why-do-i-get-e127-from-this-vimscript/22633702#22633702
I needed to prepend `<C-v>` to the `<C-w>` characters in the map
function calls because these would actually run in the command line,
deleting the preceding word, and messing up the mapping. In order to
pass those `<C-w>` characters in the string arguments, I needed to
escape them with `<C-v>`, even though it resulted in non-obvious looking
code.
|
|
I've been using my `TBuffer` command recently, but don't like how I have
to type out parts of the file name interspersed with "*"s, and press
`<Tab>` to ensure I'm getting the right file in case there are multiple
matches.
Make it easier to use `TBuffer` by allowing fuzzy finding with Pick.
This allows us to filter the list of buffers, choosing one to pass to
`TBuffer`.
Used the buffer list because the function is readily available, and
because there's no easy way to get a list of all buffer names in all
tabs. I'd probably have to map over `gettabinfo()`, and get the buffer
name for each window. Or manually filter the `:tabs` output.
Chose `db` because `dt` is taken for opening a file in a new tab, and
the word "tab" ends in "b". Now that I think about it, though, this
command deals with buffers, so it probably makes more sense to put it
under the "b" namespace.
|
|
Make it easier to insert reminder comments to write a JSDoc block.
|
|
Since this removes the path and extension, it makes it easier to use
than `<C-r>%` when I want to insert a title or symbol based on the
file's name.
|
|
I used to be able to type:
:59-63T<Tab><Enter>
to comment out a block. Now, since `TBuffer` is earlier alphabetically
than `TComment`, the above no longer works.
Add two command line abbreviations to make it easier to use these two
commands.
|
|
By default, vim-go sets the quickfix window's height to be the number of
quickfix items. This is problematic when, for example, there's a single
error item, and the quickfix window opens below a narrow window (for
example, in one of three vertical splits). In that case, the error gets
line wrapped, and quickfix window is only one line tall, meaning I can't
read the full error.
Set the window height to Vim's default of 10 lines. Vim-go will collapse
the height to 10 lines if the variable is set to a number greater than
10, and 5 lines was too short in practise.
|
|
AODocs JSON uses camel case, so this seems like a sensible default.
|
|
In case I need to add logs for debugging.
|
|
When switching to a file's alternate (its test file), create the test if
the file doesn't exist. By default, a warning is issued if the file
doesn't exist. I wanted an easier way to create the test file.
Previously I'd use:
:e %:h<Tab><C-f>bbi_test<CR>
This uses the function that the `Plug` mappings call under the hood, and
turns on the `-bang` argument to have it create the test file if it
doesn't exist.
|
|
|
|
|
|
The Vim-Go mappings run the tests in a job and add results to the
Quickfix list. Add a new mapping that doesn't use Quickfix, and instead
just runs the test command for the package that contains the current
file, outputting the results to standard output.
Gives me an additional alternative to view test results.
|
|
Faster than using `cargo build` for a feedback cycle.
|
|
Fix bugs introduced by activating the Rust Vim plugin's ftplugin.
|
|
Take advantage of the Rust Vim plugin's additional language-specific
features, like `///` and `//!` comment handling.
|
|
|
|
Rust style seems to prefer trailing commas.
|
|
Highlight Hasp files as CSS.
|
|
Enable `gf` and related commands to work by setting the proper 'path',
and ensuring the `.js` suffix is used on files.
|
|
Allow these next/previous mappings for the quickfix and location list to
take counts.
|
|
Append a trailing comma when unwrapping arguments.
|
|
|
|
Vim-Go has a `:GoIfErr` command, which inserts an `if err != nil` check.
Add a mapping for it to make it quicker to access.
|
|
I've been having some trouble reading comments, as the grey is rather
low contrast. To improve readability, change the highlight colour to a
lighter grey, increasing contrast.
|
|
This adds a trailing comma when using ArgWrap. Go requires trailing
commas, otherwise it reports compilation errors.
|
|
I've been keeping a daily to-do list. Every day, I copy yesterday's
entry and use it as today's with some modifications. Add a mapping to
automate copying the previous day's entry.
|
|
|
|
The JavaScript plugin I'm using does an okay job syntax highlighting
TypeScript, but some identifiers don't get highlighted.
Now that I'm doing a project in TypeScript, it's nice to have everything
highlighted correctly.
|
|
After upgrading to Vim 8.2, an underline was added to the line number of
the current line. Remove this with `CursorLineNr` to restore the look
from before the upgrade.
|
|
|
|
Makes it easier to reformat plain text tables.
|
|
Make it easier to write with typographers' quotes.
Depends on 'vim-textobj-user'.
|
|
The import path was renamed.
|
|
This plugin (specifically the `autoload/todo.vim` file) was colliding
with the 'vim-twodo' plugin, which uses the same file name.
Rename this plugin to prevent name conflicts.
|
|
These are by default highlighted as `Ignore`, which makes them the same
colour as finished and deleted to-dos. Set them to a light grey colour
to make them more readable.
|
|
Includes fixes and useful new features.
|
|
Previously, if the cursor was on a commit line and not at the start of
the line, the `[[` command would move to the start of the current line:
commit 7a06e3db5d7a47a05558dd6557f23e665cc26c39
^
*[[*
commit 7a06e3db5d7a47a05558dd6557f23e665cc26c39
^
This change causes the cursor to move correctly to the previous commit.
|
|
|
|
|
|
|