X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/c4773a9b8e0ac823009bb342b2642f780de33cdc..a3169545f330ec8080244c3ad755bb2211eca8a0:/README.md?ds=sidebyside diff --git a/README.md b/README.md index da77a07..9c6665e 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ tar --strip=1 -zxf vim-markdown-master.tar.gz Add the following line to your `.vimrc` to disable the folding configuration: ```vim -let g:vim_markdown_folding_disabled=1 +let g:vim_markdown_folding_disabled = 1 ``` This option only controls Vim Markdown specific folding configuration. @@ -72,11 +72,28 @@ set [no]foldenable ### Change fold style -To fold in a style like [python-mode](https://github.com/klen/python-mode), add -the following to your `.vimrc`: +To fold in a style like [python-mode](https://github.com/klen/python-mode), add the following to your `.vimrc`: ```vim -let g:vim_markdown_folding_style_pythonic=1 +let g:vim_markdown_folding_style_pythonic = 1 +``` + +Level 1 heading which is served as a document title is not folded. +`g:vim_markdown_folding_level` setting is not active with this fold style. + +### Set header folding level + +Folding level is a number between 1 and 6. By default, if not specified, it is set to 1. + +```vim +let g:vim_markdown_folding_level = 6 +``` + +Tip: it can be changed on the fly with: + +```vim +:let g:vim_markdown_folding_level = 1 +:edit ``` ### Disable Default Key Mappings @@ -84,11 +101,63 @@ let g:vim_markdown_folding_style_pythonic=1 Add the following line to your `.vimrc` to disable default key mappings: ```vim -let g:vim_markdown_no_default_key_mappings=1 +let g:vim_markdown_no_default_key_mappings = 1 ``` You can also map them by yourself with `` mappings. +### Enable TOC window auto-fit + +Allow for the TOC window to auto-fit when it's possible for it to shrink. +It never increases its default size (half screen), it only shrinks. + +```vim +let g:vim_markdown_toc_autofit = 1 +``` + +### Text emphasis restriction to single-lines + +By default text emphasis works across multiple lines until a closing token is found. However, it's possible to restrict text emphasis to a single line (ie, for it to be applied a closing token must be found on the same line). To do so: + +```vim +let g:vim_markdown_emphasis_multiline = 0 +``` + +### Syntax Concealing + +Concealing is set for some syntax. + +For example, conceal `[link text](link url)` as just `link text`. + +To enable conceal use Vim's standard conceal configuration. + +```vim +set conceallevel=2 +``` + +To disable conceal regardless of `conceallevel` setting, add the following to your `.vimrc`: + +```vim +let g:vim_markdown_conceal = 0 +``` + +### Fenced code block languages + +You can use filetype name as fenced code block languages for syntax highlighting. +If you want to use different name from filetype, you can add it in your `.vimrc` like so: + +```vim +let g:vim_markdown_fenced_languages = ['csharp=cs'] +``` + +This will cause the following to be highlighted using the `cs` filetype syntax. + + ```csharp + ... + ``` + +Default is `['c++=cpp', 'viml=vim', 'bash=sh', 'ini=dosini']`. + ### Syntax extensions The following options control which syntax extensions will be turned on. They are off by default. @@ -98,30 +167,56 @@ The following options control which syntax extensions will be turned on. They ar Used as `$x^2$`, `$$x^2$$`, escapable as `\$x\$` and `\$\$x\$\$`. ```vim -let g:vim_markdown_math=1 +let g:vim_markdown_math = 1 ``` -#### YAML frontmatter +#### YAML Front Matter -Highlight YAML frontmatter as used by Jekyll: +Highlight YAML front matter as used by Jekyll or [Hugo](https://gohugo.io/content/front-matter/). ```vim -let g:vim_markdown_frontmatter=1 +let g:vim_markdown_frontmatter = 1 ``` -#### Folding level +#### TOML Front Matter -Folding level is a number between 1 and 6. By default, if not specified, it is set to 1. +Highlight TOML front matter as used by [Hugo](https://gohugo.io/content/front-matter/). + +TOML syntax highlight requires [vim-toml](https://github.com/cespare/vim-toml). ```vim -let g:vim_markdown_folding_level = 6 +let g:vim_markdown_toml_frontmatter = 1 ``` -Tip: it can be changed on the fly with: +#### JSON Front Matter + +Highlight JSON front matter as used by [Hugo](https://gohugo.io/content/front-matter/). + +JSON syntax highlight requires [vim-json](https://github.com/elzr/vim-json). ```vim -:let g:vim_markdown_folding_level = 1 -:edit +let g:vim_markdown_json_frontmatter = 1 +``` + +### Adjust new list item indent + +You can adjust a new list indent. For example, you insert a single line like below: + +``` +* item1 +``` + +Then if you type `o` to insert new line in vim and type `* item2`, the result will be: + +``` +* item1 + * item2 +``` + +vim-markdown automatically insert the indent. By default, the number of spaces of indent is 4. If you'd like to change the number as 2, just write: + +```vim +let g:vim_markdown_new_list_item_indent = 2 ``` @@ -145,6 +240,10 @@ The following work on normal and visual modes: Known limitation: does not work for links that span multiple lines. +- `ge`: open the link under the cursor in Vim for editing. Useful for relative markdown links. `Markdown_EditUrlUnderCursor` + + The rules for the cursor position are the same as the `gx` command. + - `]]`: go to next header. `Markdown_MoveToNextHeader` - `[[`: go to previous header. Contrast with `]c`. `Markdown_MoveToPreviousHeader` @@ -167,6 +266,8 @@ To disable a map use: ## Commands +The following requires `:filetype plugin on`. + - `:HeaderDecrease`: Decrease level of all headers in buffer: `h2` to `h1`, `h3` to `h2`, etc. @@ -200,7 +301,7 @@ To disable a map use: - `:Toct`: Same as `:Toc` but in a new tab. -- `:Tocv`: Same as `:Toc` for symmetry with `:Toch` and `Tocv`. +- `:Tocv`: Same as `:Toc` for symmetry with `:Toch` and `:Tocv`. ## Credits