notmuch for vim
[ link: notmuch.vim | tags: mail vim | updated: Thu, 21 Sep 2017 10:42:17 ]
Quite some time ago now, I tried sup but found it's indexing latencies unacceptable for my workflow. I also found the user interface a bit foreign and hard to get into.
More recently I've found notmuch, a project that started as a C rewrite of the core bits of sup. Basically, it's a program that indexes and searches through your existing mail.
I had two issues with it.
- it had an emacs interface, and
- it uses maildir instead of mailbox.
using WIP branches to save every edit
[ link: save-everything-with-git-wip | tags: git vim | updated: Fri, 13 Nov 2009 10:26:18 ]
I am experimenting with a new workflow to help solve the problem of lost work between commits. As described in my previous post, there are already several ways to deal with keeping track of frequent edits. The only problem is that they all involve dedication and extra effort.
git-vim hacking
[ link: 20090608010405 | tags: git vim vimgit | updated: Wed, 10 Jun 2009 15:09:17 ]
I did some hacking on my fork on git-vim. I am impressed how well things work. motemen, the upstream author, did a really great job setting things up.
I've been mostly tyoing with command handling and completion this evening.
I want to make that I could type :git diff ma<tab>
and have it do the
rigth thing... it seems to work.
Next, I need to integrate my other git hacks and also others that seem interesting. I should also see if I can get the upstream author to consider including any of it.
git-vim
[ link: git-vim | tags: git vim vimgit | updated: Mon, 08 Jun 2009 11:35:10 ]
I have had an item on my todo list to improve my vim/git integration for a while. Today, I found git-vim on github. I was really impressed. So I forked it and hope to do some work on the project...
git://git.jukie.net/git-vim.git
First I will have to check if there is anything salvageable from my current vim scripts.
vim modelines insecure
[ link: vim-modelines-insecure | tags: vim security | updated: Thu, 17 May 2007 08:56:14 ]
I have previously disabled modelines
in my vimrc, but had turned them on recently
only to learn today that they are subject to another vulnerability.
I've seen this before. Enough is enough. :)
Fortunately, this sparked a debate on vim-dev mailing list. One of the outcomes is a vim script that replaces the modeline parser in vim. It is said to be a lot more strict about what it permits as valid modeline components and allows the user to control that in the vimrc.
You can grab the script, put it in your .vim/plugins/
directory
and turn off the built-in modelines parser:
set modelines=0
Optionally you can set this variable to have the new parser show errors in parsing.
let g:secure_modelines_verbose=1
gitdiff.vba v2
[ link: vimscript-gitdiff-v2 | tags: vim git vimgit | updated: Sat, 05 May 2007 12:45:01 ]
I released version 2 of my gitdiff.vba vim script.
It now supports two features:
:GITDiff [commitish]
Split the vim window vertically, display the HEAD, or some other changeset, version of the file in the split, then diff them.
:GITChanges [commitish]
Highlight lines that were changed since the HEAD or some other changeset.
I also started using the VimBall script, which is a package format
for vim scripts. So to install it, you need to first have the vimball extension. Further, if you have the
GetLatestVimScripts you can use the :GLVS
commands to
automatically upgrade your packages.
Next, I want to merge in maddcoder's gitcommit.vim script, and call the result something more grand like 'vim-gittools.vba'.
vimgrep alias
[ link: vimgrep-alias | tags: vim shell zsh | updated: Sat, 05 May 2007 12:45:01 ]
I've been using Solaris recently... since yesterday. First reactions: How can anyone use their command line tools!?
Fortunately the system I was on had zsh and vim.
Here is a macro I use to avoid Solaris grep:
function vimgrep () { tmp="$@" ; vim -c "vimgrep $tmp | copen" ; }
(I could not figure out a way to do it w/o the tmp
variable)
Now you can do things like:
vimgrep pattern 'dir/**/*.c'
mouse-free
[ link: vimperator | tags: firefox web vim desktop | updated: Sat, 05 May 2007 12:45:01 ]
First there was a Navigator, then there was an Explorer. Later it was time for a Konqueror. Now it's time for an Imperator, the VIMperator :)
VIMperator is a mozilla/firefox plugin from Martin Stubenschrott. It completely redefines the firefox interface to mimic the beloved VIM editor.
If you love vim, you are likely to love VIMperator. If not... well, your loss.
GITDiff vim plugin
[ link: vim-gitdiff | tags: git vim vimgit | updated: Sat, 05 May 2007 12:45:01 ]
Taking a TODO item off my list, I am adding a plugin to vim that splits the current window and presents a diff between the current file and any revision of that file in the current git repository.
fixing vim's [[ and ]] for bad code
[ link: find-functions-in-vim | tags: vim | updated: Mon, 07 Jan 2008 16:07:08 ]
I just added something to my .vim/c.vim
to make [[
and ]]
work even if the code does not have {
on new lines.
function! FindFunctionDefinition(dir)
let l:lastpattern = @/
if a:dir==-1
?^\(\a.*(\_[^\)]*) *\)\{,1\}{
elseif a:dir==1
/^\(\a.*(\_[^\)]*) *\)\{,1\}{
endif
let @/ = l:lastpattern
endfunction
nmap [[ :call FindFunctionDefinition(-1)<CR>
nmap ]] :call FindFunctionDefinition(1)<CR>
This will make [[
and ]]
find the next and previous function even if the first {
is not in the first column.