【问题标题】:Vim plugin for adding external links用于添加外部链接的 Vim 插件
【发布时间】:2012-04-02 23:48:24
【问题描述】:

现在,这可能是显而易见的,并且已经解决并为每个人所知,但我只是想到它,所以请怜悯......

是否有一个 Vim 插件(在编写 markdown 文本时)可以让您以 Ctrl-L in here (StackOverflow) 的方式插入链接。或者类似的东西。

例如,我写了一个链接,http://www.google.com,按 Ctrl-L,它会将链接移到页面底部,将其替换为 [ description][28] 其中 28 是当前(从最后一个增加一)标识符。

有人吗?有没有类似的?

【问题讨论】:

  • vim_use 上提问,这是专业人士常去的地方。

标签: vim markdown


【解决方案1】:

我使用自定义宏从系统剪贴板插入链接(在 OS X 和 Windows 上使用 Vim 7.3 测试,应该也适用于 Linux)并使用 formd 将生成的内联样式链接转换为引用样式当我认为合适的时候。

我的.vimrc 中有这些宏:

" Create a Markdown-link structure for the current word or visual selection with
" leader 3. Paste in the URL later. Or use leader 4 to insert the current
" system clipboard as an URL.
nnoremap <Leader>3 ciw[<C-r>"]()<Esc>
vnoremap <Leader>3 c[<C-r>"]()<Esc>
nnoremap <Leader>4 ciw[<C-r>"](<Esc>"*pli)<Esc>
vnoremap <Leader>4 c[<C-r>"](<Esc>"*pli)<Esc>

并使用这些来调用位于我的~/bin/ 文件夹中的formd

" Use formd to transfer markdown from inline to reference links and vice versa
" see: http://drbunsen.github.com/formd/
nmap <leader>fr :%! ~/bin/formd -r<CR>
nmap <leader>fi :%! ~/bin/formd -i<CR>

所以,我只需复制所需的链接,导航到单词(或使用视觉模式选择更多单词)以转换为链接并点击,4。如果我知道我将链接一个词或选择,但还没有 URL,我点击 ,3 并且宏将所需的括号插入为空。

点击,fr 会产生引用样式。如果需要,,fi 会返回到内联样式的链接。

【讨论】:

    【解决方案2】:

    我没有完全匹配的解决方案,但我的 vim-googurl 插件可以完成部分工作。

    【讨论】:

      【解决方案3】:

      虽然这不是您所描述的确切工作流程this plugin,但它似乎是为使脚注更易于使用而设计的。

      【讨论】:

        【解决方案4】:

        :help autocmd 可用于列出可能的选项。

        它可能无法完全满足您的要求,但您可以根据需要进行更改。

        autocmd Filetype markdown,rmd noremap ,1 i[][]<Esc>bplla1<esc>m1Go[1]:<Space><esc>p'1f1wa<Space>
        autocmd Filetype markdown,rmd noremap ,2 i[][]<Esc>bplla2<esc>m2Go[2]:<Space><esc>p'2f2wa<Space>
        

        1 可能是第一个链接,2 可能是第二个...

        将您的链接放入主要选择中。
        将光标置于正常模式并点击,1 开始。

        【讨论】:

          【解决方案5】:

          关于 Dennis Wegners 的回答和他的 .vimrc 条目 &lt;leader&gt;4 这对我有用:

          nnoremap <leader>4 ciw[<C-r>"](<Esc>"*pa)<Esc><CR>
          vnoremap <leader>4 c[<C-r>"](<Esc>"*pa)<Esc><CR>
          

          "*pil 导致不写结束 ) 但使用 "*pa 它可以工作。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2016-10-24
            • 2011-11-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-08-18
            • 1970-01-01
            相关资源
            最近更新 更多