Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mmai/vim-markdown-wiki: Vim plugin wich eases links manipulation and navigation in markdown pages #76

Open
yaohunzhanyue opened this issue Apr 13, 2020 · 0 comments
Labels

Comments

@yaohunzhanyue
Copy link
Owner

vim-markdown-wiki

vim-markdown-wiki is a Vim plugin which eases the navigation between files in a personnal wiki based on markdown

Installation

Add the line Bundle 'mmai/vim-markdown-wiki' in your .vimrc if you use Vundle or a similar plugin manager Or copy the after/ftplugin/markdown.vim file into the $HOME/.vim/after/ftplugin/ directory

Usage

With the default key mappings :

Link creation:

  • Hit the ENTER key when the cursor is on a text between brackets : [a title]
  • The link will be created [a title](a-title.md) and the corresponding file will be loaded in the buffer.

Navigation:

  • Hit the ENTER key when the cursor is on a wiki link
  • The corresponding link file is loaded in the current buffer.
  • Hit Leader key + ENTER to go back

You can set a shortcut to open links in a new split, see below

Change key mappings in your vim config file

Create or go to link : nnoremap <CR> :MdwiGotoLink

Open link in a new split with SPACE + ENTER : nnoremap <Space><CR> <C-w>v:MdwiGotoLink<CR>

Return to previous page : nnoremap <Leader><CR> :MdwiReturn

Customize new pages titles

You can override the default format of the titles by defining a function MdwiWriteTitle in your vim config file.

The default is :

function! MdwiWriteTitle(word)
  return 'normal!\ a'.escape(a:word, ' \').'\<esc>yypv$r=o\<cr>'
endfunction

which write the titles like this :

New page
========


Here is an example of a custom function which uses the # style instead of underlining, and adds a timestamp before the title :

 function! MdwiWriteTitle(word)
   return 'normal!\ a# '.strftime('%c').' - '.escape(a:word, ' \').'\<esc>'
 endfunction

the result is something like this, depending on your locale :

# Thu 10 Dec 2018 08:44:37 CET - New page


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant