Marksman - 代码助手¶
在为 Rocky Linux 起草文档时,Marksman 是一个有用的工具。它允许轻松输入定义markdown语言标签所需的符号。这使您可以更快地编写,并降低了出错的可能性。
NvChad/Neovim 已经包含了有助于写作的文本小部件,例如按输入频率索引的常用词的重复。此语言服务器包含的新选项将丰富这些小部件。
Marksman 与您的编辑器集成,通过LSP 协议帮助您编写和维护 Markdown 文档,从而提供自动完成、转到定义、引用搜索、名称重构、诊断等功能。
目标¶
- 提高 NvChad 在编写 Markdown 代码方面的生产力
- 生成符合 Markdown 语言规则的文档
- 完善您对语言的了解
要求和技能¶
- 对 Markdown 语言的基本了解,建议阅读Markdown 指南
- 在使用的机器上正确安装了 NvChad
难度级别
阅读时间: 20 分钟
安装 Marksman¶
语言服务器的安装没有遇到任何特定问题,因为它在 Mason 中是原生可用的。直接从状态栏使用以下命令进行安装
:MasonInstall marksman
该命令将打开Mason界面并直接安装所需的语言服务器。二进制安装完成后,可以使用q键关闭Mason屏幕。
但是,它的安装并不包括将其集成到编辑器中。要启用它,必须将其放在配置的configs/lspconfig.lua
文件中。
集成到编辑器¶
NvChad 中的 LSP
nvim-lspconfig插件将语言服务器集成到 NvChad 中。此插件极大地简化了它们在 NvChad 配置中的包含。
lspconfig.lua文件负责输入使用语言服务器所需的调用,还允许您指定已安装的服务器。要将marksman集成到编辑器的语言服务器配置中,您需要通过添加新的 LSP 来编辑local servers字符串。
使用以下命令在 NvChad 上打开该文件
nvim ~/.config/nvim/lua/configs/lspconfig.lua
并编辑local servers字符串,完成后它将如下所示
local servers = { "html", "cssls", "tsserver", "clangd", "marksman" }
保存文件并使用:wq
命令关闭编辑器。
要检查语言服务器是否已正确激活,请在 NvChad 中打开一个 markdown 文件,并使用:LspInfo
命令查看应用于该文件的语言服务器。在摘要中,应该会有类似以下的内容
Client: marksman (id: 2, bufnr: [11, 156])
filetypes: markdown
autostart: true
root directory: /home/your_user/your_path/your_directory
cmd: /home/your_user/.local/share/nvim/mason/bin/marksman server
Configured servers list: cssls, tsserver, clangd, html, yamlls, lua_ls, marksman
这表明已为打开的文件激活了marksman服务器,并且它已自动启动 (autostart: true
),因为它将其识别为一个 markdown 文件 filetypes: markdown
。其他信息指示用于代码检查的可执行文件的路径cmd:
,它使用marksman server
模式,以及它用于检查的根目录your_directory
。
根文件夹
在使用语言服务器时,“根文件夹”的概念至关重要,因为要对文档执行控制,例如指向其他文件或图像的链接,它必须拥有项目的“全局视图”。 我们可以说“根文件夹”等同于图形 IDE 中的“项目”。
编辑器为打开文件使用的根目录,也称为“工作目录”,可以通过:pwd
命令查看。 如果它与所需的目录不匹配,则可以使用:lcd
命令进行更改。 此命令仅将工作目录重新分配给该缓冲区,而不会更改编辑器中打开的其他缓冲区的任何设置。
使用 marksman¶
完成所有进入步骤后,每当在编辑器中打开一个markdown文件时,语言服务器就会被激活。 通过进入INSERT
模式,在键入某些字符时,小部件中将出现新的选项,帮助您编写文档。 在下面的屏幕截图中,您可以看到这些小部件中提供的一些 markdown 代码段。
主要按键¶
语言服务器提供了许多快捷键,可以激活写作辅助功能。 这包括快速插入 Markdown 标签、创建链接以及将图像插入文档。 下面列出了激活各种代码段的非详尽字符列表。
这些代码段显示在小部件中,小部件中还包含其他快捷键。 使用Tab键导航小部件以选择由marksman提供的选项。
按键 | 代码段 |
---|---|
h | 允许快速输入标题(h1 到 h6),例如,输入 h4 并按回车键将插入四个井号和一个空格,并且光标将已就位以输入您的标题 |
b | 键入此字符激活使用快捷键输入粗体文本的功能,通过插入四个星号并将光标放置在中间,从而使编写粗体部分快得多 |
i | 与前一个字符一样,它允许您选择快速插入斜体文本,通过输入两个星号并将光标放置在它们之间。 |
bi | 此按键通过将光标放置在中间,插入六个星号,用于编写以粗体和斜体显示的文本 |
img | 此按键插入用于将图像插入文档的 markdown 结构,格式为 。 请注意,可以使用服务器提供的自动完成功能来写入路径。 |
link | 此按键创建[text](url) 链接的 markdown 标签结构。 同样,如果链接引用了工作目录中的文件,您将能够使用自动完成功能,并且服务器将检查引用的正确性。 |
list | 键入此按键允许输入三个项目的列表,以开始创建编号或无序列表 |
q | 此字符允许插入引用的标签> ,后跟一个空格,并将光标定位在要写入引用的位置 |
s | 此字符激活许多可能性,包括插入四个波浪号并将光标放置在中间,用于编写带删除线的文本 |
sup | 此按键插入上标标签。 商标TM |
sub | 此按键插入下标标签。 注释1 |
table | 此按键可以快速创建表格结构,并允许您从许多起始结构中进行选择 |
code | 通过将两个反引号放置在光标所在的位置,将代码块内联插入,并将光标放置在两个反引号的中心。 |
codeblock | 插入三行,两行带有三个反引号,一行为空白,您可以在其中插入代码块。 请注意,它还插入字符串language,该字符串将使用您在块中使用的语言进行编译。 |
代码块声明
Markdown 代码规则建议始终声明块中使用的代码,即使没有突出显示功能以供正确解释。 如果其中的代码过于通用,建议使用“text”来声明它。
用于 Markdown 标记快捷键的激活键还包括其他组合,您可以在使用语言服务器时发现它们。
结论¶
尽管不是严格必需的,但随着时间的推移,这个语言服务器可以成为您编写 Rocky Linux 文档的绝佳助手。
通过使用它并因此记住用于插入 Markdown 代码符号的主要按键,它将通过允许您将注意力集中在内容上,从而实现有效地更快地写作。
作者:Franco Colussi
贡献者:Steven Spencer,Ganna Zhyrnova