Skip to content

Latest commit

 

History

History
137 lines (111 loc) · 5.28 KB

README_cn.md

File metadata and controls

137 lines (111 loc) · 5.28 KB

Markdown-Org

vim

ENGLISH | 中文版

展示

codeblock

language

更多截图看这里

介绍

  1. 你可以在markdown中预览每一个代码块的运行结果,结果以浮动窗口的形式展示出来,它不会打乱你现有的窗口布局。

  2. 如果你的markdown中有多种语言,你可以选择运行其中一种语言,它会帮你把所有这种语言的代码块挑选出来,并按照在文中出现的次序,依次运行,结果以浮动窗口的形式展示出来。

安装

如果你用lazy.nvim,你可以通过下面命令安装

{
  "Kurama622/markdown-org",
  ft = "markdown",
  config = function()
    vim.g.language_path = {
      python = "python",
      python3 = "python3",
      go = "go",
      c = "gcc",
      cpp = "g++",
      bash = "bash",
    }
    return {
      default_quick_keys = 0,
      vim.api.nvim_set_var("org#style#border", 2),
      vim.api.nvim_set_var("org#style#bordercolor", "FloatBorder"),
      vim.api.nvim_set_var("org#style#color", "String"),
    }
  end,
  keys = {
    { "<leader>mr", "<cmd>call org#main#runCodeBlock()<cr>" },
    { "<leader>ml", "<cmd>call org#main#runLanguage()<cr>" },
  },
},

如果你用vim-plug,你可以通过下面命令安装

Plug 'Kurama622/markdown-org', {'for':'markdown'}

如果你用dein,你可以通过下面命令安装

[[plugins]]
repo = 'Kurama622/markdown-org'
on_ft = 'markdown'

配置

在你的配置文件(.vimrc/init.vim)中,写入

let g:default_quick_keys = 1

将启用默认配置

默认快捷键和参数

参数/快捷键 功能
Alt+b 展开当前代码片段的运行结果
Alt+l 运行某种语言的所有代码片段,会弹出语言选择框
g:language_path 设置语言的环境路径
g:org#style#border 设置边框的风格(0, 1, 2, 3, 4, 5),0为无边框
g:org#style#bordercolor 设置边框颜色
g:org#style#color 设置结果文本的颜色
g:org_output_to_clipboard 结果自动复制到剪切板(默认值为0, 设置成1开启此功能)

边框样式

边框编号 效果展示
border0 border0
border1 border1
border2 border2
border3 border3
border4 border4
border5 border5

自定义参数和快捷键设置

如果你不想使用默认配置,你可以自定义一些参数和快捷键。示例如下:

let g:default_quick_keys = 0
let g:org#style#border = 2
let g:org#style#bordercolor = 'keyword'
let g:org#style#color = 'Identifier'
let g:language_path = {
            \ "python":"python",
            \ "python3":"python3",
            \ "go": "go",
            \ "c": "gcc",
            \ "cpp": "g++",
            \ "c++": "g++",
            \ "javascript": "node",
            \ }
nnoremap <silent> <M-b> :call org#main#runCodeBlock()<CR>
nnoremap <silent> <M-l> :call org#main#runLanguage()<CR>
  1. 你需要将g:default_quick_keys置为0,以表示禁用默认设置。

  2. g:org#style#border 可以设置为0-5中的数值。

  3. g:org#style#bordercolorg:org#style#color设置为不同的高亮色。你可以设置为keywordIdentifierStatementCommentPreProcIgnoreLabelConditionalException等不同的值,具体效果会根据你的主题而定。

  4. g:language_path写入不同语言的环境路径,如果你环境配置的没有问题,默认的设置就可以很好的工作,如果你的环境有问题,比如你输入python并不能启动python的交互模式,那么你可以将你python的路径写入到g:language_path中:

let g:language_path = {
            \ "python":"/usr/bin/python",
            \ "python3":"python3",
            \ "go": "go",
            \ "c": "gcc",
            \ "cpp": "g++",
            \ "c++": "g++",
            \ "javascript": "node",
            \ }
  1. org#main#runCodeBlock为运行代码块的函数,org#main#runLanguage为运行某种语言的函数,你可以按照上面例子绑定到你所喜欢的按键上。

致谢

最后,浮动窗口的设计主要参考了韦大vim-quickui,感谢韦大提供的优秀范例。