aboutsummaryrefslogtreecommitdiffhomepage
path: root/vim
diff options
context:
space:
mode:
authorGravatar Bart Trojanowski <bart@jukie.net>2009-11-20 09:42:29 -0500
committerGravatar Bart Trojanowski <bart@jukie.net>2009-11-25 00:48:51 -0500
commitfe2a905110a9527e77e9c40ba8dd9aab369af6b9 (patch)
treebc23f767853435c3443277ac4435f286dc2f57c0 /vim
parent5c7ebe31d58d649bfb68627d642dde1cc6cf6493 (diff)
make search screen mappings configurable via dictionary
Diffstat (limited to 'vim')
-rw-r--r--vim/plugin/notmuch.vim19
1 files changed, 17 insertions, 2 deletions
diff --git a/vim/plugin/notmuch.vim b/vim/plugin/notmuch.vim
index 01511602..b9fc8d22 100644
--- a/vim/plugin/notmuch.vim
+++ b/vim/plugin/notmuch.vim
@@ -53,6 +53,13 @@ if !exists('g:notmuch_show_headers')
let g:notmuch_show_headers = [ 'Subject', 'From' ]
endif
+" --- keyboard mapping definitions {{{1
+
+let g:notmuch_search_maps = {
+ \ '<Enter>': ':call <SID>NM_search_display()<CR>',
+ \ 's': ':call <SID>NM_cmd_search(split(input(''NotMuch Search:'')))<CR>',
+ \ }
+
" --- process and set the defaults {{{1
function! NM_set_defaults(force)
@@ -77,6 +84,15 @@ function! NM_set_defaults(force)
endfunction
call NM_set_defaults(0)
+" --- assign keymaps {{{1
+
+function! s:NM_set_map(maps)
+ for [key, code] in items(a:maps)
+ exec printf('nnoremap <buffer> %s %s', key, code)
+ endfor
+endfunction
+
+
" --- implement search screen {{{1
function! s:NM_cmd_search(words)
@@ -94,8 +110,7 @@ function! s:NM_cmd_search(words)
call s:NM_newBuffer('search', join(disp, "\n"))
let b:nm_raw_lines = lines
- nnoremap <buffer> <Enter> :call <SID>NM_search_display()<CR>
- nnoremap <buffer> s :call <SID>NM_cmd_search(split(input('NotMuch Search:')))<CR>
+ call <SID>NM_set_map(g:notmuch_search_maps)
setlocal cursorline
setlocal nowrap
endfunction