X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/5ff124014066ba7882617c283e7750d449caafb4..73c5dd90794911db1bb806c61a171844e8b6917d:/README.md?ds=inline diff --git a/README.md b/README.md index 5ddf6ed..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. @@ -70,16 +70,94 @@ To enable/disable folding use Vim's standard folding configuration. 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`: + +```vim +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 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. @@ -89,17 +167,59 @@ 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 Front Matter + +Highlight YAML front matter as used by Jekyll or [Hugo](https://gohugo.io/content/front-matter/). + +```vim +let g:vim_markdown_frontmatter = 1 +``` + +#### TOML Front Matter + +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_toml_frontmatter = 1 ``` -#### YAML frontmatter +#### JSON Front Matter -Highlight YAML frontmatter as used by Jekyll: +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_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_frontmatter=1 +let g:vim_markdown_new_list_item_indent = 2 ``` + ## Mappings The following work on normal and visual modes: @@ -120,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` @@ -142,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. @@ -160,7 +286,7 @@ To disable a map use: If a range is given, e.g. hit `:` from visual mode, only operate on the range. -- `:TableFormat`: Format the table under the cursor [like this](http://www.cirosantilli.com/markdown-styleguide/#tables). +- `:TableFormat`: Format the table under the cursor [like this](http://www.cirosantilli.com/markdown-style-guide/#tables). Requires [Tabular](https://github.com/godlygeek/tabular). @@ -175,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