Відповідь на ваше пряме запитання так само, як @EvergreenTree розміщено. Однак я відчуваю, що вам не вистачає деяких інструментів Vim, побудованих для складання / складання / обшивки проектів. Найбільше :make
- список швидких виправлень.
Що :make
нас використовує використання ?
Використання :make
дозволяє збирати свої помилки до списку, відомого як список швидких виправлень. За допомогою виправлення ви можете переходити між помилками у ваших файлах, тож ви переходите прямо туди, де компілятор каже, що помилка (зручна правда?).
: зробити
Запуск :make
буде виконувати програму грим, 'makeprg'
. Потім проаналізуйте вихід 'errorformat'
і додайте кожен запис до списку швидких виправлень.
Зазвичай 'makeprg'
за замовчуванням для make
команди, яка виконує a Makefile
. Однак ви можете змінити свою команду 'makeprg'
за допомогою :compiler
команди або встановити її безпосередньо.
Ви також можете передавати додаткові аргументи :make
. напр:make clean
Примітка: біг :make
часто показує вихід команди в нижній частині екрана із запитом натиснути клавішу Enter. Просто натисніть клавішу Enter, оскільки весь вихід буде доступний у списку швидких виправлень. Ви можете придушити це через :silent
, напр :silent make
.
Загальна спеціальна команда для безшумного виготовлення:
command -nargs=* -bar Smake silent make <args> <bar> cwindow
список виправлень
Після запуску :make
списку швидких виправлень буде проведено вихід компілятора.
За допомогою наступної команди перейдіть до списку швидких виправлень.
:copen
щоб відкрити вікно швидкого виправлення
:cclose
щоб закрити вікно швидкого виправлення
:cnext
/ :cprev
для переходу до наступного / попереднього пункту
:cc
роздрукувати внизу поточну помилку або :cc 3
показати конкретну помилку в цьому прикладі 3
Особисто я використовую безперешкодний плагін Тіма Попа для навігації по списку швидких виправлень.
А що робити :make
автоматично і безшумно?
Ви можете це зробити так :autocmd
само, як і ви, де.
augroup auto_make
autocmd!
autocmd BufWritePost * silent make
autocmd QuickFixCmdPost *make* cwindow
augroup END
Як бонус я додав у відкритті вікна швидкого :cwindow
виправлення через наявність будь-яких помилок.
Примітка. Має бути більш конкретним із тим шаблоном файлу на BufWritePost
autocmd, щоб не пов'язані файли, що не пов'язані.
Там ще більше ?!
Для переконання використовується лише декілька вбудованих команд Vim плюс кілька autocmd. Звичайно, є плагіни та інструменти, які можуть вам допомогти
- Dispatch.vim можна використовувати для
:make
асинхронного виконання завдань.
- Синтаксичний синтаксис плагіну перевіряє файл після
:write
.
- Ale.vim (Asynchronous Lint Engine) - плагін для забезпечення зв’язок у NeoVim та Vim 8 під час редагування текстових файлів.
- Unimpaired.vim полегшує керування списком швидких виправлень .
- Прості старі макіяжі. Якщо ваш склад
./script.sh
не дуже складний, ви, можливо, захочете вивчити використання make. Пізніше він може масштабувати виконання більше завдань і є загальним інструментом побудови.
- Ви можете використовувати Vim Awesome для пошуку додаткових плагінів, які можуть допомогти.
Висновок
Особисто я інтегрую :make
і виправлення в свій робочий процес. Я вважаю, що отримання результатів вашого процесу збирання та відображення помилок є вартими інвестицій. Як додатковий бонус, можливо, вам стане зручніше зі списком швидких виправлень і ви можете використовувати цей список для інших програм, таких як :grep
.
Докладнішу інформацію див.
:h :make
:h quickfix
:h 'makeprg'
:h 'errorformat'
:h :compiler
:h :copen
:h :cwindow
:h :cnext
:h :cc