• Stars
    star
    131
  • Rank 275,867 (Top 6 %)
  • Language
    Vim Script
  • License
    MIT License
  • Created over 6 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

For forgetful vim users

Remembrall

This is a small plugin that makes it easier to remember mappings.

Installation

Using vim-plug:

Plug 'urbainvaes/vim-remembrall'

Usage

To scroll down and up the list, use <c-e>, <c-y>, or (pagewise) <c-f> and <c-b>. Adding support for a prefix can be achieved via mappings in your .vimrc:

" Show ',' normal mode mappings when ',' is pressed.
nnoremap <silent> <expr> , Remembrall(',')

" Show ',' normal mode mappings when the key combination ',?' is pressed,
" so we don't have to wait for the timeout.
nnoremap <silent> <expr> ,? Remembrall(',')

" Show visual mode mappings.
vnoremap <silent> <expr> ? Remembrall('v', '')

Remembrall defines a mapping for the all the prefixes in the list g:remembrall_normal_keys, which defaults to c, d, g, y, ], [, >, <, =, <Leader> and <LocalLeader>. A list of suffixes, which will be appended to the left-hand side in the definition of the mappings, can be defined with g:remembrall_suffixes. For example, if this list is set to ["?"], then the plugin will append the character ? in the left-hand side of all the mappings it defines. The relevant part of the plugin code should make this clear:

for suffix in s:suffixes
  for key in s:normal_keys
    silent execute "nnoremap <silent> <expr>" key.suffix "Remembrall('".key."')"
  endfor
endfor

To avoid the timeout between a key press and the moment Remembrall opens, the argument <nowait> can be used in the definition of the corresponding mapping. The following mapping, for example, will force Remembrall to open directly when the default vimtex prefix, <LocalLeader>l, is pressed in a tex buffer:

augroup remembrall
    autocmd FileType tex nnoremap <buffer> <nowait> <expr> <LocalLeader>l Remembrall(',l')
augroup END

Customization

Config Default Description
g:remembrall_normal_keys See above Keys for which to enable Remembrall
g:remembrall_suffixes [""] List of suffixes
g:remembrall_window topleft 30new Command for creating Remembrall window
g:remembrall_zoom \<c-z> Key to toggle zoom
g:remembrall_search 1 Enable search using /
g:remembrall_auto_accept 1 Automically accept unique match
g:remembrall_accept \<c-m> Key to accept a mapping when auto-accept is disabled

Acknowledgements

Some parts of the source code were inspired by vim-peekaboo. I thank Raimond Willemsen for reporting bugs and suggesting improvements.

License

MIT