Англійська для розробників Vim і Neovim
Вивчіть англійську лексику для Vim і Neovim: модальне редагування, рухи і пояснення процесу роботи, створеного для того, щоб ви ніколи не торкалися миші.
Розмови Vim і Neovim покладаються на окремий словник, тому що так багато робочого потоку стосується складання невеликих, названих команд, а не клацання по меню, і бути точним про режими, рухи і текстові об’єкти, що відокремлює справді ефективне пояснення від неясного махання рукою про «клавіатурні скорочення»
Ключовий словник
** Модальний режим редагування (звичайний/ вставлення/ візуальний режим) ** — основний дизайн Vim, у якому однакові клавіші мають різне значення залежно від поточного режиму, що дозволяє виконувати навігацію і редагування за допомогою команд з однією літерою без використання клавіш- модифікаторів.
“Ви все ще думаєте у режимі вставки — у звичайному режимі dw вилучає слово, не вводячи літери d і w.”
** Команда пересування ** — натискання клавіші або комбінація клавіш, які пересувають курсор на визначену одиницю (слово, рядок, абзац, відповідну дужку), що стає будівельним блоком для поєднання з командами редагування.
” } — перехід до наступного порожніх рядка, отже d} вилучає все від курсора до наступного розриву абзацу.”
** Текстовий об’ єкт ** — названа структурна одиниця тексту (слово, рядок у лапках, тіло функції), на яку можна безпосередньо спрямувати команди редагування, незалежно від точного розташування курсора.
- “Замість вручну вибирати рядок, скористайтеся текстовим об’ єктом
ci\", щоб змінити все всередині найближчих лапок.” *
** Менеджер додатків ** — інструмент (наприклад, lazy. nvim або packer), який декларує, встановлює і ліниво завантажує додатки Neovim з налаштувань, замінюючи вручну копіювання файлів додатків до каталогу виконання. “Якщо ми перейшли на правильний менеджер додатків, додавання нового додатка було одним рядком у налаштуваннях замість вручну клонування репозиторію у шлях виконання.”
** Буфер проти вікна проти вкладки ** — три відмінних шару моделі редагування Vim: буфер — це вміст завантаженого файла у пам’ яті, вікно — це вікно перегляду у буфері, а вкладка — це названа збірка вікон.
“Ви не втратили свої зміни — буфер все ще відкритий, ви щойно зачинили вікно; поверніться назад за допомогою :b замість перевідкривання файла.”
Звичайні фрази
- Чи ми все ще в режимі вставки, чи ви повернулися до нормального режиму після того, як ви редагували?»
- Який найшвидший рух, щоб дістатися до відповідної закриваючої позначки звідси?»
- «Чи можете ви просто використовувати текстовий об’єкт для цього, замість візуального вибору його символ за символом?»
- «Який менеджер плагінів ми використовуємо для лінивого завантаження, щоб час запуску не підскочив?»
- «Це новий буфер, чи просто ще одне вікно, що дивиться на те саме?»
Приклади висловлювань
Навчання нового користувача Vim:
“Перестаньте тиснути клавіші зі стрілками — залиштеся у звичайному режимі і скористайтеся командами руху, такими як w і b, щоб пересуватися по словах.”
Пояснення скорочення редагування співробітнику команди:
- “Просто встановіть курсор у будь- яке місце всередині дужок і скористайтеся текстовим об’ єктом
ci(— вам не потрібно вибирати точні межі самостійно.” *
Зневадження повільного запуску Neovim: “Перевірте, які з ваших додатків завантажуються повільно — якщо половина з цих додатків завантажується під час запуску, а не на запит, це означає, що ви затримуєтесь.”
Професійні поради
- Виправте початківців, що не надто добре володіють ** модальним редагуванням ** — найбільше розчарування на початку виникає від введення команд у режимі вставки, а надання режиму явної назви найшвидше виправляє ментальну модель.
- Вчити ** команди руху ** перед скороченнями — як тільки хтось розуміє рухи, складені з операторів (
d,c,y), вони можуть отримати десятки команд замість запам’ятовування їх окремо. - Пересунути ** текстові об’ єкти ** за межі ручного візуального вибору під час перегляду коду vimscript або обговорення налаштувань — вони більш стійкі до змін форматування і швидше вводяться.
- Рекомендую сучасний ** менеджер додатків ** для всіх, хто підтримує налаштування Neovim з нуля — він робить завантаження і відтворення значно простішими, ніж вручну керовані шляхи виконання.
Практичні вправи
- Поясніть різницю між звичайним режимом і режимом вставки, а також описайте поширену помилку початківців, яка виникає внаслідок їхнього сплутування.
- Описати, як комбінуються команди руху та оператори, використовуючи
d}абоci(як приклад. - Напишіть речення, у якому пояснюється різниця між буфером, вікном і вкладкою у Vim.
Наприклад, слово «професійний» означає: професійний фахівець
Основний словник Vim — такі терміни як « курсор », « рух », « реєстр » — часто достатньо для опису того, що ви робите, особливо серед інших користувачів Vim. Однак, коли співпрацюєте з більшою командою, особливо з тими, хто не глибоко вкорінені в Vim менталітет, ефективне спілкування вимагає більше, ніж просто знати * що * ви робите; це про передачу цієї інформації чітко і точно, використовуючи професійну англійську фразу. Це не стосується повного уникнення термінології Vim (часто цілком прийнятно використовувати її обережно для ясності), а скоріше розуміння того, як сформулювати вашу роботу таким чином, щоб вона відповідала більшій аудиторії, демонструючи професіоналізм і сприяючи плавнішій співпраці. Розгляньте різницю між словами « Я пересунув курсор праворуч п’ ять разів » і « Я виконав рух forward(5) ». Останнє негайно встановлює контекст і демонструє технічне розуміння.
Однією з найпоширеніших проблем для носіїв мови, які не є рідними для мови, є формування зворотнього зв’язку, особливо під час перегляду коду. Простий коментар на кшталт «Це не працює» не допоможе. Замість цього ви можете сказати: « Тестовий випадок зазнав невдачі через потенційне переповнення цільним числом у цій функції. Я пропоную впровадити перевірку перед множенням. » Зауважте зміну: ми перейшли від висловлювання спостереження (« не працює ») до надання інформації, яка може бути використана — * причина * невдачі і запропонований спосіб її вирішення. Аналогічно, при написанні описів PR, бути конкретним є ключовим. Не просто скажіть «Виправлена помилка». Поясніть * яку * ваду ви виправили, * де * вона розташована, і * чому * виправлення вирішує проблему. Використання точної мови демонструє старанність і забезпечує, що переглядачі повністю зрозуміють ваші зміни.
Іншою областю, де нюанси мають значення, є опис робочих потоків. Уявіть, що ви пояснюєте співробітнику команди, чому ви створили роботу майже виключно за допомогою рухів Vim — ніколи не торкаючись миші. Сказати «Я просто використовую Vim» може не передати глибини цього зобов’язання і його переваг. Кращий підхід був би: «Я розробив свій робочий процес, щоб широко використовувати команди руху Vim, мінімізуючи рух екрану і максимізуючи швидкість і точність. Це дозволяє мені підтримувати високий рівень концентрації і зменшує когнітивне навантаження, значно покращуючи ефективність мого кодування. Постійне перемикання між мишею і клавіатурою вводить непотрібне тертя, якого я навмисно уникав»
Нарешті, пам’ятайте, що активне слухання так само важливо, як і чітке мовлення. Якщо хтось попросить вас пояснити щось по-іншому, не бійтеся прохання про пояснення. Це цілком прийнятно, якщо ви запитаєте: « Чи можете ви розібратися, що ви маєте на увазі під « оптимізованою продуктивністю » у цьому контексті? » Прояв бажання вивчити і пристосувати свій стиль спілкування завжди буде оцінено.
#!/bin/sh
# Example of using `sed` to replace text in a file
cat my_file.txt | sed 's/old_text/new_text/' > new_file.txt