Marksman - помічник коду¶
Marksman є корисним інструментом під час створення вашого документа для Rocky Linux. Це дозволяє легко вводити символи, необхідні для визначення тегів мови markdown. Це дозволяє писати швидше та зменшує ймовірність помилок.
NvChad/Neovim вже містить текстові віджети, які допомагають писати, наприклад, повторення часто використовуваних слів, індексованих за частотою введення. Нові параметри, включені цим мовним сервером, збагатять ці віджети.
Marksman інтегрується з вашим редактором, щоб допомогти вам створювати та підтримувати документи Markdown за допомогою протокол LSP, що забезпечує такі функції, як завершення, визначення переходу, пошук посилань, рефакторинг імен, діагностика тощо.
Цілі¶
- підвищення продуктивності NvChad при написанні коду Markdown
- створення документів, які відповідають правилам мови Markdown
- уточнення знання мови
Вимоги та навички¶
- Базове знання мови Markdown, рекомендовано прочитати Посібник з Markdown
- NvChad на використовуваній машині встановлено належним чином
Рівень складності
Час читання: 20 хвилин
Установка Marksman¶
Встановлення мовного сервера не створює особливих проблем, оскільки він інтегрований у Mason. Встановіть його безпосередньо з рядка стану за допомогою команди:
:MasonInstall marksman
Команда відкриє інтерфейс Mason та безпосередньо встановить потрібний мовний сервер. Після завершення встановлення бінарного файлу ви можете закрити екран Mason за допомогою клавіші q.
Його встановлення, однак, ще не включає його інтеграцію в редактор. Щоб увімкнути його, його потрібно помістити у файл конфігурації configs/lspconfig.lua.
Інтеграція в редактор¶
LSP в NvChad
Плагін nvim-lspconfig інтегрує мовні сервери в NvChad. Цей плагін значно спрощує їх включення до конфігурації NvChad.
Файл lspconfig.lua відповідає за введення викликів, необхідних для використання мовних серверів, а також дозволяє вказати ті, що ви встановили. Щоб інтегрувати marksman у конфігурацію мовного сервера редактора, вам потрібно буде відредагувати рядок local servers, додавши ваш новий LSP.
Відкрийте свій NvChad у файлі командою:
nvim ~/.config/nvim/lua/configs/lspconfig.lua
Відредагуйте рядок локальних серверів, який після завершення виглядатиме так:
local servers = { "html", "cssls", "tsserver", "clangd", "marksman" }
Збережіть файл і закрийте редактор за допомогою команди :wq.
Щоб перевірити, чи мовний сервер активовано належним чином, відкрийте файл markdown у вашому NvChad та скористайтеся командою :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 та натискання Enter вставить чотири решітки та пробіл, а курсор вже буде на місці для введення заголовка |
| b | Введення цього символу активує можливість використання скорочення для введення жирного тексту шляхом вставки чотирьох зірочок і розміщення курсора посередині, що значно пришвидшує написання жирного тексту |
| i | Як і попередній символ, він дозволяє вибрати швидку вставку курсивного тексту, ввівши дві зірочки та розмістивши курсор між ними. |
| bi | Ця клавіша вставляє шість зірочок, розміщуючи курсор посередині для написання тексту жирним шрифтом та курсивом |
| img | Цей ключ вставляє структуру markdown для вставки зображення в документ у форматі . Зауважте, що запис шляху можна виконати за допомогою автозаповнення, наданого сервером. |
| link | Цей ключ створює структуру тегу markdown для посилання [text](url). Знову ж таки, якщо посилання стосується файлу в робочому каталозі, ви зможете скористатися автозаповненням, і сервер перевірить правильність посилання. |
| list | Введення цього ключа дозволяє ввести список із трьох елементів, щоб почати створення нумерованого або невпорядкованого списку |
| q | Цей символ дозволяє вставити тег для цитати >, а потім пробіл і позиціонує курсор для написання цитати |
| s | Цей символ активує численні можливості, зокрема вставлення чотирьох тильд і розміщення курсору посередині для написання тексту |
| sup | Клавіша вставляє тег надрядковий. TrademarkTM |
| sub | Ключ вставляє тег підрядковий. Notes1 |
| table | Ця клавіша дозволяє швидко створити структуру таблиці та дає змогу вибирати з багатьох початкових структур |
| code | Вставляє блок коду в рядок, розміщуючи дві зворотні галочки в місці розташування курсора, розміщуючи його в центрі двох зворотних галочок. |
| codeblock | Вставляє три рядки, два з потрійними зворотними галочками та один порожній у місце вставлення блоків коду. Зверніть увагу, що він також вставляє рядок language, який має бути скомпільований мовою, що використовувалася в блоці. |
Оператор блоку коду
Правила коду Markdown рекомендують завжди оголошувати код, що використовується в блоці, навіть без виділення функцій для правильної інтерпретації. Якщо код у ньому занадто загальний, рекомендується використовувати "текст" для його оголошення.
Ключі активації для ярликів тегів Markdown також включають інші комбінації, які ви можете знайти під час використання мовного сервера.
Висновок¶
Незважаючи на те, що це не обов’язково, цей мовний сервер з часом може стати чудовим компаньйоном у написанні вашої документації для Rocky Linux.
Його використання та, як наслідок, запам’ятовування первинних ключів для вставлення символів коду Markdown забезпечать ефективне пришвидшення запису, дозволяючи вам зосередити свою увагу на вмісті.
Author: Franco Colussi
Contributors: Steven Spencer, Ganna Zhyrnova