diff --git a/autoload/SpaceVim/layers/lang/markdown.vim b/autoload/SpaceVim/layers/lang/markdown.vim index 62c44aaab..956a6ba7d 100644 --- a/autoload/SpaceVim/layers/lang/markdown.vim +++ b/autoload/SpaceVim/layers/lang/markdown.vim @@ -64,8 +64,10 @@ function! SpaceVim#layers#lang#markdown#config() abort let g:mkdp_browserfunc = 'openbrowser#open' " }}} call SpaceVim#mapping#space#regesit_lang_mappings('markdown', function('s:mappings')) - nnoremap (markdown-insert-link) :call markdown_insert_url(0) - xnoremap (markdown-insert-link) : call markdown_insert_url(1) + nnoremap (markdown-insert-link) :call markdown_insert_link(0, 0) + xnoremap (markdown-insert-link) : call markdown_insert_link(1, 0) + nnoremap (markdown-insert-picture) :call markdown_insert_link(0, 1) + xnoremap (markdown-insert-picture) : call markdown_insert_link(1, 1) augroup spacevim_layer_lang_markdown autocmd! autocmd FileType markdown setlocal omnifunc=htmlcomplete#CompleteTags @@ -79,6 +81,7 @@ function! s:mappings() abort let g:_spacevim_mappings_space.l = {'name' : '+Language Specified'} call SpaceVim#mapping#space#langSPC('nmap', ['l','p'], 'MarkdownPreview', 'Real-time markdown preview', 1) call SpaceVim#mapping#space#langSPC('nmap', ['l','k'], '(markdown-insert-link)', 'add link url', 0, 1) + call SpaceVim#mapping#space#langSPC('nmap', ['l','K'], '(markdown-insert-picture)', 'add link picture', 0, 1) call SpaceVim#mapping#space#langSPC('nmap', ['l', 'r'], \ 'call call(' \ . string(function('s:run_code_in_block')) @@ -106,20 +109,23 @@ function! s:generate_remarkrc() abort return f endfunction -function! s:markdown_insert_url(visual) abort +function! s:markdown_insert_link(isVisual, isPicture) abort if !empty(@+) let l:save_register_unnamed = @" let l:save_edge_left = getpos("'<") let l:save_edge_right = getpos("'>") - if !a:visual + if !a:isVisual execute "normal! viw\" endif let l:paste = (col("'>") == col("$") - 1 ? 'p' : 'P') normal! gvx let @" = '[' . @" . '](' . @+ . ')' + if a:isPicture + let @" = '!' . @" + endif execute 'normal! ' . l:paste let @" = l:save_register_unnamed - if a:visual + if a:isVisual let l:save_edge_left[2] += 1 if l:save_edge_left[1] == l:save_edge_right[1] let l:save_edge_right[2] += 1 diff --git a/docs/cn/layers/lang/markdown.md b/docs/cn/layers/lang/markdown.md index 58d289cb5..b201eff66 100644 --- a/docs/cn/layers/lang/markdown.md +++ b/docs/cn/layers/lang/markdown.md @@ -74,5 +74,6 @@ npm install --global prettier | 快捷键 | 模式 | 按键描述 | | ---------- | ------------- | -------------------------------------- | | `SPC b f` | Normal | 格式化当前文件 | -| `SPC l k` | Normal/Visual | 为光标下的单词或者选中文本增加链接 URL | +| `SPC l k` | Normal/Visual | 为光标下的单词或者选中文本增加 URL 链接| +| `SPC l K` | Normal/Visual | 为光标下的单词或者选中文本增加图片链接 | | `SPC l p` | Normal | 通过浏览器实时预览当前文件 | diff --git a/docs/layers/lang/markdown.md b/docs/layers/lang/markdown.md index 0f1ab162e..d5d8fbb67 100644 --- a/docs/layers/lang/markdown.md +++ b/docs/layers/lang/markdown.md @@ -70,8 +70,9 @@ Bullet marker to use for list items (`'-'`, `'*'`, or `'+'`, default: `'-'`). ## Key bindings -| Key bindings | mode | Descriptions | -| ------------ | ------------- | --------------------------------------------- | -| `SPC b f` | Normal | Format current buffer | -| `SPC l k` | Normal/Visual | Add URL for word under cursor or slected word | -| `SPC l p` | Normal | Real-time markdown preview | +| Key bindings | mode | Descriptions | +| ------------ | ------------- | ------------------------------------------------------ | +| `SPC b f` | Normal | Format current buffer | +| `SPC l k` | Normal/Visual | Add URL link for word under cursor or slected word | +| `SPC l k` | Normal/Visual | Add picture link for word under cursor or slected word | +| `SPC l p` | Normal | Real-time markdown preview |