aboutsummaryrefslogtreecommitdiffhomepage
path: root/vim
diff options
context:
space:
mode:
authorGravatar Bart Trojanowski <bart@jukie.net>2009-11-27 18:02:05 -0500
committerGravatar Bart Trojanowski <bart@jukie.net>2009-11-27 18:02:05 -0500
commite6628e78d9ce3f9383a4699df9063a648617b428 (patch)
tree39a672099a822da06f2cf89285dade76cdb1c365 /vim
parent7a215c2de81e95798ecadd982eecf05e647c3988 (diff)
vim: use <Space> more consistently in search view
In search view <Space> will show the thead, but folding messages that don't match the current search expression. Conversly, <Enter> always shows all messages in the thread.
Diffstat (limited to 'vim')
-rw-r--r--vim/README3
-rw-r--r--vim/plugin/notmuch.vim20
2 files changed, 11 insertions, 12 deletions
diff --git a/vim/README b/vim/README
index 299c7f89..8cd3b1a2 100644
--- a/vim/README
+++ b/vim/README
@@ -42,7 +42,8 @@ Buffer types:
You are presented with the search results when you run :NotMuch.
Keybindings:
- <Enter> - show the selected message
+ <Space> - show the selected thread colapsing unmatched items
+ <Enter> - show the entire selected thread
a - archive message (remove inbox tag)
f - filter the current search terms
o - toggle search screen order
diff --git a/vim/plugin/notmuch.vim b/vim/plugin/notmuch.vim
index c5655617..b415f500 100644
--- a/vim/plugin/notmuch.vim
+++ b/vim/plugin/notmuch.vim
@@ -114,7 +114,8 @@ let g:notmuch_folders_maps = {
" --- --- bindings for search screen {{{2
let g:notmuch_search_maps = {
- \ '<Enter>': ':call <SID>NM_search_show_thread()<CR>',
+ \ '<Space>': ':call <SID>NM_search_show_thread(0)<CR>',
+ \ '<Enter>': ':call <SID>NM_search_show_thread(1)<CR>',
\ '<C-]>': ':call <SID>NM_search_expand(''<cword>'')<CR>',
\ 'a': ':call <SID>NM_search_archive_thread()<CR>',
\ 'f': ':call <SID>NM_search_filter()<CR>',
@@ -266,17 +267,14 @@ endfunction
" --- --- search screen action functions {{{2
-function! s:NM_search_show_thread()
- let id = <SID>NM_search_thread_id()
- if id != ''
- let words = [id]
- if exists('b:nm_search_words')
- let words = ['('] + b:nm_search_words + [')', 'AND', id]
- endif
- if len(words)
- call <SID>NM_cmd_show(words)
- endif
+function! s:NM_search_show_thread(everything)
+ let words = [ <SID>NM_search_thread_id() ]
+ if !a:everything && exists('b:nm_search_words')
+ call extend(words, ['AND', '('])
+ call extend(words, b:nm_search_words)
+ call add(words, ')')
endif
+ call <SID>NM_cmd_show(words)
endfunction
function! s:NM_search_prompt()