X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/44ac1f42e98063e8148d1a67ed22dca86af79380..9a15f22447f63ab4325c6222a19d18a417540cc6:/README.md diff --git a/README.md b/README.md index 894037a..9c6665e 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,13 @@ Syntax highlighting, matching rules and mappings for [the original Markdown](http://daringfireball.net/projects/markdown/) and extensions. +1. [Installation](#installation) +1. [Options](#options) +1. [Mappings](#mappings) +1. [Commands](#commands) +1. [Credits](#credits) +1. [License](#license) + ## Installation If you use [Vundle](https://github.com/gmarik/vundle), add the following line to your `~/.vimrc`: @@ -35,7 +42,7 @@ To install without Pathogen using the Debian [vim-addon-manager](http://packages git clone https://github.com/plasticboy/vim-markdown.git cd vim-markdown sudo make install -vim-addon-manager install mkd +vim-addon-manager install markdown ``` If you are not using any package manager, download the [tarball](https://github.com/plasticboy/vim-markdown/archive/master.tar.gz) and do this: @@ -52,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. @@ -63,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. @@ -82,22 +167,64 @@ 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 ``` +#### 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 +``` + +#### 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_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 +``` + + ## Mappings The following work on normal and visual modes: -- `gx`: open the link under the cursor in the same browser as the standard `gx` command. +- `gx`: open the link under the cursor in the same browser as the standard `gx` command. `Markdown_OpenUrlUnderCursor` The standard `gx` is extended by allowing you to put your cursor anywhere inside a link. @@ -113,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` @@ -125,16 +256,18 @@ The following work on normal and visual modes: - `]u`: go to parent header (Up). `Markdown_MoveToParentHeader` -This plugging follows the recommended Vim plugin mapping interface, so if you want to change the map `]u` to `asdf`, add to your `.vimrc`: +This plugin follows the recommended Vim plugin mapping interface, so to change the map `]u` to `asdf`, add to your `.vimrc`: map asdf Markdown_MoveToParentHeader -To disable a map, use: +To disable a map use: map Markdown_MoveToParentHeader ## Commands +The following requires `:filetype plugin on`. + - `:HeaderDecrease`: Decrease level of all headers in buffer: `h2` to `h1`, `h3` to `h2`, etc. @@ -153,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). @@ -168,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