marksman

by Artem Pyanykh (community) · Neovim, VS Code, Emacs, Helix

LSP Dev Tools Open Source v2026-02-08 · 08.02.2026 активный

LSP-сервер для Markdown с поддержкой wiki-ссылок. Превращает редактор в полноценный инструмент для ведения заметок и личных вики — автодополнение, переходы, рефакторинг ссылок. Возможности: - Автодополнение [[wiki-ссылок]] между заметками - Go to definition для ссылок на другие файлы - Find references: где упоминается текущая заметка - Rename: переименование файла обновляет все ссылки - Диагностика битых ссылок - Поддержка Obsidian-стиля [[wikilinks]] - Работает с любым набором markdown-файлов

v2026-02-08
08.02.2026 current
Добавлен 18.06.2026 · Обновлён 18.06.2026 · Dev Tools
Установка
# Скачать бинарь с GitHub Releases:
# https://github.com/artempyanykh/marksman/releases

# macOS (brew):
brew install marksman

# Neovim (nvim-lspconfig):
require('lspconfig').marksman.setup{}

# VS Code:
# Extensions → "Marksman" → Install
переведено ИИ

Сборка и тесты релиз homebrew marksman Загрузки

Marksman

Пишите Markdown с поддержкой кода и интеллектуальными функциями прямо в вашем любимом редакторе.

заставка)


Marksman — это программа, которая интегрируется в ваш редактор, помогая писать и поддерживать документы в формате Markdown. Используя протокол LSP, она предоставляет автодополнение, переход к определению, поиск ссылок, переименование, рефакторинг, диагностику и многое другое. Помимо обычного Markdown, он также поддерживает ссылки в стиле вики-ссылок, которые позволяют вести заметки в духе Zettelkasten[^roam-research], [^markdown-memo]. Подробнее о возможностях Marksman читайте ниже.

Marksman работает в MacOS, Linux и Windows и распространяется как автономный исполняемый файл для каждой ОС.

Сервер помогает с:

  • Встроенными ссылками Markdown: md Это [встроенная ссылка](https://github.com/artempyanykh/marksman/blob/main/some-file.md#some-heading)). Это внутренняя [ссылка-якорь](#heading).
  • Ссылочными ссылками Markdown: ```md См. ссылку.

* Вики-ссылками:md Ссылка на [[другая-заметку]]. Ссылка на [[другие-заметки#заголовок]]. Внутренняя ссылка на [[#заголовок]]. ```

Все типы ссылок поддерживают автодополнение, всплывающие подсказки, переход к определению/ссылкам. Кроме того, Marksman предоставляет диагностику для вики-ссылок для обнаружения нерабочих ссылок и дублирующих/неоднозначных заголовков.

Существующие интеграции с редакторами[^lsp]:

  • VSCode через Marksman VSCode.
  • Neovim:
  • Vim:

    • через ale) — Ale имеет встроенную поддержку Marksman

    • через lsp)

    Пример конфигурации (добавьте следующее в ваш ~/.vim/after/ftplugin/markdown.vim):

    viml if exists('g:loaded_lsp') call LspAddServer([#{ name: 'marksman', filetype: ['markdown'], path: '/path/to/marksman', args: ['server'], syncInit: v:true }]) end

  • Emacs:

    • через LSP Mode (автоматическая установка сервера).

    Пример конфигурации для пользователей use-package:

    lisp (use-package markdown-mode :hook (markdown-mode . lsp) :config (require 'lsp-marksman)) * через Eglot, требует настройки (если только eglot#1013 не будет объединён); добавьте следующее в ваш init.el

    lisp (add-to-list 'eglot-server-programs '(markdown-mode . ("marksman"))) (add-hook 'markdown-mode-hook #'eglot-ensure) * Helix поддерживает Marksman из коробки. Однако вам нужно вручную добавить исполняемый файл marksman в ваш PATH. * Kakoune может использоваться с kakoune-lsp без дополнительной настройки. * Sublime Text через LSP-marksman (автоматическая установка сервера). * BBEdit можно настроить для использования Marksman в качестве LSP-сервера для файлов Markdown. * Zed поддерживает Marksman через свою встроенную поддержку LSP, добавив его как доступный LSP для Markdown в settings.json Zed:

```jsonc // Настройки Zed { // ... "languages": { "Markdown": { "language_servers": ["marksman"] } } }

```

Как установить

Смотрите инструкции по установке).

Демонстрации и руководства

Автодополнение Markdown)

Возможности

Смотрите страницу «Возможности»), чтобы узнать больше о языковых функциях, конфигурациях и одно- и многофайловом режимах.

ЧАВО (Часто задаваемые вопросы)

  • Межфайловые ссылки и автодополнения не работают.
    • Либо создайте пустой файл .marksman.toml в корневой папке вашего проекта, либо инициализируйте репозиторий (например, git init). Смотрите эту страницу), чтобы узнать больше об одно- и многофайловом режимах.
  • В MacOS появляется сообщение "marksman can’t be opened because Apple cannot check it for malicious software".
    • Выполните следующую команду, чтобы обойти это и дать Mac понять, что всё в порядке: xattr -d com.apple.quarantine <путь-к-исполняемому-файлу-marksman>.

[^roam-research]: Вы, возможно, слышали о Roam Research. Это коммерческая реализация метода Zettelkasten и ещё одна точка отсчёта для понимания того, чем занимается Marksman. Однако, в отличие от проприетарного Roam Research, Marksman является бесплатным, с открытым исходным кодом и интегрируется в ваш любимый редактор (хотя и не так функционально богат, как Roam Research).

[^markdown-memo]: Существует отличное расширение для VSCode под названием Markdown Memo. вам определённо стоит ознакомиться с ним, если вы в основном используете VSCode, так как у него есть некоторые функции, которых нет в Marksman и расширении Marksman для VSCode. Однако Markdown Memo специфичен для VSCode, тогда как Marksman — это универсальный язык-сервер, поэтому может использоваться с любым редактором, поддерживающим LSP: Emacs, Vim, Neovim и т.д.

[^lsp]: Поскольку Marksman является обычным языковым сервером, большая часть функциональности работает из коробки с любым LSP-клиентом.

[^single-file-mode]: Существует инициатива по добавлению однофайлового режима в LSP, но это не часть спецификации, по крайней мере, до и включая v3.17.

Комментарии
Войдите, чтобы оставить комментарий