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

Установка
# Скачать бинарь с 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: * через mason.nvim (автоматическая установка сервера) (требуется mason-lspconfig.nvim) * через nvim-lspconfig, * через CoC-marksman.
  • 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.

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