Intereting Posts
Какой процесс отправляет TCP SYN на Solaris 10? как сохранить вывод команды в массив с каждым значением в двойной кавычки Как удалить слова, заканчивающиеся буквой S, если дубликаты без S на конце находятся в одном списке? ClamAV: подавляет весь вывод, кроме сводных Скобка в expr арифметике: 3 * (2 + 1) Как сделать арифметические манипуляции по всем строкам в LibreOffice Почему этот gawk coprocess висит? Система утверждает, что мой USB установлен, когда я вставляю его, и я не могу (un) смонтировать его. Как это исправить? Найдите различия между владельцами двух домашних папок? Ограничение открытого файла Daemon достигается даже при увеличении системных ограничений Не удалось подключиться к шине: Не удалось подключиться: соединение отклонено Сделать перезапуск OpenVPN при новом сетевом подключении на systemd Самый легкий дистрибутив, который запускает LibreOffice Writer Возможно ли войти в систему с пользователем, созданным для таких программ, как apache или postgreSQL? Как переключиться с рабочего стола Ubuntu на сервер Ubuntu?

запустить команду редактора при выходе из режима вставки в vim

Я хочу запустить :command в vim, когда я выхожу из режима вставки. В частности, я хочу запустить :GoFmt для форматирования моего кода при выходе из режима вставки. В настоящее время он запускается, когда я сохраняю файл, но иногда я хочу отформатировать его перед выполнением проверки синтаксиса (что происходит при сохранении файла).

Моим текущим решением было сопоставить <esc> с <esc>:GoFmt<enter> но это нарушает поведение клавиш со стрелками, потому что клавиши со стрелками начинаются с escape-последовательности. Есть ли лучшее решение?

 autocmd FileType go imap <esc> <esc>:GoFmt<enter> 

Во-первых, я решительно поддерживаю предложение Wildcards перейти на сайт vim … 🙂

Но во-вторых, безусловно, лучшее решение. Вы можете использовать InsertLeave . Просто сделайте это:

 autocommand InsertLeave go GoFmt 

Преимущество заключается в том, что это вообще не требует каких-либо сопоставлений, и выполнение команды также проще, потому что GoFmt уже является командой ex, поэтому вам не нужно :...<cr> .