aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2022-08-20Update 'vim-go' to latest (b524371788bcdd87215c6e59ca4b2853553077a4)Teddy Wing
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.
2022-06-28vimrc: Add `m,` mapping to save sessionTeddy Wing
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.
2022-06-01vimrc: Disable context.vim by defaultTeddy Wing
Enable it by default in AODocs paths.
2022-06-01vimrc: Add `yp` mapping to paste from the "0 registerTeddy Wing
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.
2022-06-01Add 'context.vim' pluginTeddy Wing
Shows code context including the enclosing function, class, namespace, etc.
2022-05-26macports-checksums: Add `b:undo_ftplugin`Teddy Wing
2022-05-26Add 'macports-checksums' pluginTeddy Wing
A new command that appends MacPorts checksums for a given file.
2022-05-26vimrc: Remove Slimv settingsTeddy Wing
I removed the Slimv plugin in b0f617dcc33b2207dfb87b899a655f62ecad53ca. We no longer need these settings.
2022-05-26vimrc: Don't let Paredit change filetype plugin and indent settingsTeddy Wing
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.
2022-05-24Add 'paredit' pluginTeddy Wing
Make Common Lisp development more fluid.
2022-05-22godoc: Clear `goRawString` syntax groupTeddy Wing
2022-05-22ftplugin/go.vim#s:GoDoc: Start at the top of the documentationTeddy Wing
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.
2022-05-22ftplugin/go.vim#s:GoDoc: Change filetype to 'godoc'Teddy Wing
Get 'godoc' syntax highlighting.
2022-05-22ftplugin/go.vim#s:GoDoc: Remove unnecessary `|` in Ex commandsTeddy Wing
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.
2022-05-11Add 'godoc' pluginTeddy Wing
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.
2022-05-07Update 'vlime' to latest (3205f02306314ab8cfc9034cf72097891c923e9d)Teddy Wing
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.
2022-05-05ftplugin/go.vim: Allow `:GoDoc` to work with `<cword>`Teddy Wing
This re-enables `K` keyworkprg functionality for the `GoDoc` command, this time using my custom version.
2022-05-05ftplugin/go.vim: Add `GoDoc` commandTeddy Wing
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.
2022-04-24plugin/go.vim: Disable 'vim-go' in Vim < 7.4Teddy Wing
2022-03-07ftplugin/go.vim: Add 'formatoptions' for comment leadersTeddy Wing
2021-11-15Update 'vim-twodo' to v0.2.0Teddy Wing
Adds new motion bindings.
2021-11-15ftplugin/todo.vim: Add `<Space>` as an additional LeaderTeddy Wing
Provide the option to use a `<Space>` as a leader in addition to my normal Leader, since it can be quicker for some commands.
2021-10-06projects/aodocs.vim: Make `s:TodoCopyLast()` work for second entryTeddy Wing
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.
2021-10-06Create 'date' pluginTeddy Wing
Add a command to insert the current date after point. Saves me a bit of typing, as well as effort remembering the current date.
2021-10-06Add 'vim-git-todo' pluginTeddy Wing
I've been using this locally on one machine since I finished writing the plugin, but apparently forgot to add it to my .vim.
2021-09-21ftplugin/mail.vim: Add bindings to add and remove the 'a' format optionTeddy Wing
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.
2021-09-21vimrc: Add `<C-w>N` to open a new empty buffer in a vertical splitTeddy Wing
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.
2021-09-05Add 'mpvim' plugin @ 513c455d5a902fff2b38edf86abc15c36688bf85Teddy Wing
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.
2021-08-29projects/aodocs.vim: Use the current date in new TODO entryTeddy Wing
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).
2021-07-18ftplugin/objc.vim: Switch to tab indentation in Objective-CTeddy Wing
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.
2021-03-20ftplugin/lisp.vim: Activate the built-in Lisp ftpluginTeddy Wing
I wanted the built-in `comments` setting to automatically insert the comment leader when wrapping.
2021-02-19ftplugin/lisp.vim: Set <LocalLeader> to <Space>Teddy Wing
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.
2021-02-19Add ftdetect/lisp.vimTeddy Wing
Detect ASDF *.asd files as Lisp files.
2021-01-26Add ftdetect/objc.vimTeddy Wing
Manually set `.m` and `.mm` files to Objective C. By default these were set to `matlab`.
2021-01-26Add ftplugin/lisp.vimTeddy Wing
Add Common Lisp indentation settings.
2021-01-26Add 'vlime' pluginTeddy Wing
Use Vlime instead of Slimv for a Common Lisp environment.
2021-01-26Remove 'slimv' pluginTeddy Wing
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.
2021-01-26git-blamer: Add `-M` flag to `git-blame` callTeddy Wing
Don't change the author for moved lines.
2020-10-27vimrc: Make the `<leader>p` command repeatableTeddy Wing
Allow us to repeat system pasting using `.`.
2020-10-21Add 'buffer-delete' pluginTeddy Wing
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.
2020-10-21vimrc: Turn off `g:go_code_completion_enabled`Teddy Wing
I was having trouble with completion and I have a feeling that this setting is confusing things.
2020-10-21vimrc: Make the `gS` command repeatableTeddy Wing
Allow repeating the ArgWrap mapping via 'repeat.vim' to make it even easier to use.
2020-10-13vimrc: Replace `t` cabbrev with `T` command aliasTeddy Wing
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>`.
2020-10-04Update 'vim-grappele' to v0.3.0Teddy Wing
Adds operator-pending and visual mode mappings.
2020-10-04ftplugin/vim.vim: Activate the built-in Vim ftpluginTeddy Wing
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.
2020-10-04ftplugin/typescript.vim: Make `gf` open `index.ts` if path is directoryTeddy Wing
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.
2020-09-28vimrc: Add `<leader>db` mapping to open files with TBuffer using PickTeddy Wing
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.
2020-09-23projects/aodocs.vim: Add `htodo` abbreviation to insert JSDoc TODOTeddy Wing
Make it easier to insert reminder comments to write a JSDoc block.
2020-09-22vimrc: Add i_^r^f mapping to insert the current filenameTeddy Wing
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.
2020-09-18plugin/abbreviations.vim: Add cabbrevs for T-prefixed commandsTeddy Wing
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.