Age | Commit message (Collapse) | Author |
|
I needed to run `:GoInstallBinaries`, but this failed as I'm using Go
1.18, and the version of Vim-Go I was using installed binaries with
`go get` instead of the new `go install`. This was updated and fixed in
359230b942b3aba79d011aa446bfcf70c12bc217.
|
|
I've been testing this binding as a candidate for a potential
replacement of my existing `<leader>mk` mapping. It's easier on the
hands than the existing one.
Since `,` doesn't seem to be a valid mark location, and it's right next
to the "m" key on a Qwerty keyboard, this seemed like an ideal
combination of keys for a relatively frequent action.
|
|
Enable it by default in AODocs paths.
|
|
Makes it easier to search and replace with `n` and visual selection.
Though perhaps `gn` would solve this? Though not in cases where I need
to replace something that's different from the search pattern.
|
|
Shows code context including the enclosing function, class, namespace,
etc.
|
|
|
|
A new command that appends MacPorts checksums for a given file.
|
|
I removed the Slimv plugin in b0f617dcc33b2207dfb87b899a655f62ecad53ca.
We no longer need these settings.
|
|
Paredit turns filetype indent on globally, messing up all files, not
just Lisp files. Prevent Paredit from changing these settings.
I don't think we really need Paredit's filetype indent as that's already
handled by Vlime.
|
|
Make Common Lisp development more fluid.
|
|
|
|
Previously, the cursor would be at the bottom or the loaded
documentation. It's more practical to start at the beginning.
Also remove the empty first line.
|
|
Get 'godoc' syntax highlighting.
|
|
These were a holdover from when the lines were in a map binding. They're
unnecessary now that they've been moved to a function.
|
|
Create a new 'godoc' filetype that highlights the same as 'go' except
without the character group. This makes Go docs produced by the `go doc`
command more readable.
|
|
I had a problem loading the SWANK server so I thought a plugin update
might fix it. Turns out it was an unrelated path override problem
causing an old Slime/Swank version to be loaded.
|
|
This re-enables `K` keyworkprg functionality for the `GoDoc` command,
this time using my custom version.
|
|
Override the `GoDoc` command from 'vim-go'. That one produces docs
without the "-all" flag, and there's no option to enable "all". This
gives me all the documentation for a package.
This isn't as useful yet, as it breaks the `K` keywordprg.
|
|
|
|
|
|
Adds new motion bindings.
|
|
Provide the option to use a `<Space>` as a leader in addition to my
normal Leader, since it can be quicker for some commands.
|
|
When only a single TODO day entry exists in a file, this function would
fail with a "pattern not found" error because the copy pattern expects
at least two entries in a file. Alter the function so that it also works
when only one entry is present in the file.
|
|
Add a command to insert the current date after point. Saves me a bit of
typing, as well as effort remembering the current date.
|
|
I've been using this locally on one machine since I finished writing the
plugin, but apparently forgot to add it to my .vim.
|
|
I've been editing email headers in Vim recently (previously I only did
that in Mutt's line editor). With automatic formatting, the headers can
get messed up due to reflow. Add bindings so we can quickly disable
automatic paragraph formatting when we need to.
|
|
Like `<C-w>n` except that instead of opening a new buffer in a
horizontal split, it opens a vertical one. This can be preferred
depending on the existing window layout.
|
|
Provides syntax highlighting for MacPorts Portfiles.
This code was copied from the 'macports-contrib' repository
(https://github.com/macports/macports-contrib) at commit
513c455d5a902fff2b38edf86abc15c36688bf85
(https://github.com/macports/macports-contrib/tree/513c455d5a902fff2b38edf86abc15c36688bf85).
The Vim plugin lives in a subdirectory of the 'macports-contrib'
repository, so I'd have to include a whole mess of files that don't
relate to Vim if I wanted to add the plugin as a submodule. I'd just as
soon not have to copy the files into my repository tree like this, but
it's better than adding a non-Vim submodule.
Assuming it's okay to add these files to my repository, as the port file
for this plugin describes it as being BSD licensed:
https://github.com/macports/macports-ports/blob/12d7b1597bef875058758c9c587b7593f39a5af1/editors/mpvim/Portfile
Unfortunately, there's no BSD license or copyright notice included in
the plugin code. But I'm going to assume I'm allowed to redistribute it.
|
|
When creating a new TODO entry, always use the current date instead of
incrementing the final 'day' segment with <C-a>. That would cause issues
when incrementing from "07" (results in "010" instead of "08" because it
assumes it's in octal), and "08" (results in "9" without a leading zero,
though I'm not sure why).
|
|
I've gone back and forth between tabs and 4-space indentation in
Objective-C. Currently working on a project that uses tab indentation so
sticking with that for now.
|
|
I wanted the built-in `comments` setting to automatically insert the
comment leader when wrapping.
|
|
Vlime includes a bunch of mappings, but some of them are shadowed by own
mappings. The plugin doesn't include any corresponding ex-style
commands. Change the <LocalLeader> in Lisp files to <Space> to give me
access to all of Vlime's mappings.
|
|
Detect ASDF *.asd files as Lisp files.
|
|
Manually set `.m` and `.mm` files to Objective C. By default these were
set to `matlab`.
|
|
Add Common Lisp indentation settings.
|
|
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.
|