На моєму боці рішенням було частіше використовувати silentв командному ланцюжку .
Зокрема, .vimrcраніше:
nnoremap M :silent make\|redraw!\|cc<CR>
Це було змінено на:
nnoremap M :silent make\|silent redraw!\|silent cc<CR>
Раніше "Прес ENTER" не завжди з'являвся, але дратує часто. Додатковий silents зафіксував це. (Схоже, silentце не потрібно, redraw!оскільки це було :ccвикликано повідомленням "Натисніть ENTER".)
Ця зміна має недолік, що більше не відображається вихід :cc, тому ви повинні здогадатися, у чому помилка. Це трохи виправляє:
nnoremap M :silent make\|redraw!\|cw\|silent cc<CR>
Це робить список помилок QuickFix (Output of make) автоматично з’являється (і, за допомогою vim-magic, зникає, якщо помилки немає).
FYI:
Мотивація цієї Mкарти - просто натиснути Mв звичайному режимі, щоб:
- збережіть правки (якщо
makeвсе-таки все використовується під контролем git)
- викликати
make
- і безпосередньо перейти до першої помилки чи попередження
Мої Makefiles зазвичай побудовані так, що це займає лише частку секунди.
Трохи налаштувавши це, можна застосувати і для нетипових Cнавантажень:
На .vimrcдодаток
set efm+=#%t#%f#%l#%c#%m#
Це дозволяє vimінтерпретувати повідомлення типу: :cc(помилка відображення):
#E#file#line#column#message#
#W#file#line#column#message#
#I#file#line#column#message#
( Eпомилки, аргументи, Wnfo I, на основі vimмагії)
Приклад використання цього сценарію для Python . (Вибачте, тут немає копії, це вже інша історія.)
set dir=$TEMPсвій vimrc. Це вказує vim використовувати правильну папку temp для своїх тимчасових файлів. Це, в свою чергу, виправляє помилки та видаляє підказки "натиснути введення".