Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
May 30, 2020
Nov 11, 2022


This is a vimscript for create and manage memo. memolist.vim is inspired by jekyll.vim.


Set the path to your memo directory in your .vimrc.(default directory $HOME/memo)

let g:memolist_path = "path/to/dir"

You may also want to add a few mappings to stream line the behavior:

nnoremap <Leader>mn  :MemoNew<CR>
nnoremap <Leader>ml  :MemoList<CR>
nnoremap <Leader>mg  :MemoGrep<CR>


Create New Memo:


Show Memo List:


Grep Memo Directory:



" suffix type (default markdown)
let g:memolist_memo_suffix = "markdown"
let g:memolist_memo_suffix = "txt"

" date format (default %Y-%m-%d %H:%M)
let g:memolist_memo_date = "%Y-%m-%d %H:%M"
let g:memolist_memo_date = "epoch"
let g:memolist_memo_date = "%D %T"

" tags prompt (default 0)
let g:memolist_prompt_tags = 1

" categories prompt (default 0)
let g:memolist_prompt_categories = 1

" use qfixgrep (default 0)
let g:memolist_qfixgrep = 1

" use vimfiler (default 0)
let g:memolist_vimfiler = 1

" use fzf (default 0)
let g:memolist_fzf = 1

" remove filename prefix (default 0)
let g:memolist_filename_prefix_none = 1

" use unite (default 0)
let g:memolist_unite = 1

" use arbitrary unite source (default is 'file')
let g:memolist_unite_source = "file_rec"

" use arbitrary unite option (default is empty)
let g:memolist_unite_option = "-auto-preview -start-insert"

" use denite (default 0)
let g:memolist_denite = 1

" use arbitrary denite source (default is 'file_rec')
let g:memolist_denite_source = "anything"

" use arbitrary denite option (default is empty)
let g:memolist_denite_option = "anything"

" use various Ex commands (default '')
let g:memolist_ex_cmd = 'CtrlP'
let g:memolist_ex_cmd = 'NERDTree'
let g:memolist_ex_cmd = 'Defx'
let g:memolist_ex_cmd = 'Clap files'

" use delimiter of array in yaml front matter (default is ' ')
let g:memolist_delimiter_yaml_array = ','

" use when get items from yaml front matter
" first line string pattern of yaml front matter (default "==========")
let g:memolist_delimiter_yaml_start = "---"

" last line string pattern of yaml front matter (default "- - -")
let g:memolist_delimiter_yaml_end  = "---"

memolist.vim with unite.vim

Custom template

you can use other format and custom template. (default memo format is markdown.)

if you use custom template file(~/memotemplates/rdoc.txt). add the following lines to your .vimrc

let g:memolist_memo_suffix = "rdoc"
let g:memolist_template_dir_path = "~/memotemplates"



Put all files under $VIM.

vim-plug (

Add the following configuration to your .vimrc.

Plug 'glidenote/memolist.vim'

Install with :PlugInstall.

Vundle (

Add the following configuration to your .vimrc.

Bundle 'glidenote/memolist.vim'

Install with :BundleInstall.

NeoBundle (

Add the following configuration to your .vimrc.

NeoBundle 'glidenote/memolist.vim'

Install with :NeoBundleInstall.


License: Same terms as Vim itself (see license)