diff options
author | Bart Trojanowski <bart@jukie.net> | 2009-11-27 18:02:05 -0500 |
---|---|---|
committer | Bart Trojanowski <bart@jukie.net> | 2009-11-27 18:02:05 -0500 |
commit | e6628e78d9ce3f9383a4699df9063a648617b428 (patch) | |
tree | 39a672099a822da06f2cf89285dade76cdb1c365 /vim | |
parent | 7a215c2de81e95798ecadd982eecf05e647c3988 (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/README | 3 | ||||
-rw-r--r-- | vim/plugin/notmuch.vim | 20 |
2 files changed, 11 insertions, 12 deletions
@@ -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() |