#vim #terminal #conque
#vim #терминал #завершение
Вопрос:
Как пользователь Windows, я использую conque term в качестве своего vim-терминала. Есть ли способ отключить автокоманды CursorHoldI и CursorMovedI, когда буфер является конечным термином. Мои навыки работы с vim-скриптами являются базовыми, я уверен, что есть строка, которую я могу добавить в свой vimrc.Спасибо
Комментарии:
1. «Как пользователь Windows, я использую conque term в качестве своего vim-терминала». Что это вообще значит?
2. Можете ли вы предоставить больше информации о проблеме, которую вы пытаетесь решить? Вы имеете в виду, что используете vim в Windows с подключаемым модулем vim-conque ?
3. Пользователи Unix используют TMUX, а neovim не поддерживает terminal в Windows. Итак, об этих двух вариантах не может быть и речи, я получаю это предупреждение, когда открываю conque term, и, похоже, оно выполняется медленно. tinypic.com/r/rhvmf5/9
4. Пользователи Unix не «используют tmux», и это, похоже, вопрос для отслеживания проблем этого плагина.
5. @romainl не уверен, почему вы отклоняетесь от касательной. Я использую conque_term в качестве своего repl. YCM, Vim-surround и т.д. Используют глобальные автокоманды при перемещении курсора, мне они не нужны, когда буфер является conque_term и они замедляют repl. Если бы я использовал Unix, я мог бы использовать tmux в качестве альтернативы для переключения с vim на repl. Мне просто нужно отключить два автокоманды, когда буфер является conque_term
Ответ №1:
Я не совсем понимаю, зачем вам это нужно делать, но способ отключить запуск определенных автокоманд — это использовать 'eventignore'
опцию. (В качестве альтернативы, вы могли бы удалить соответствующие autocmds, но это будет работать только для тех, которые ограничены буфером, а не глобальными, поскольку вы, по-видимому, хотите, чтобы autocmds работали в неконкретных буферах.)
Дело в том, 'eventignore'
что это глобальная настройка, поэтому вам нужна другая пара автокоманд для включения / выключения опции, основанной на входе / выходе из буфера Conque.
Внутри каждого буфера Conque запустите это:
:autocmd WinEnter <buffer> set eventignore =CursorHoldI,CursorMovedI
:autocmd WinLeave <buffer> set eventignore-=CursorHoldI,CursorMovedI
Комментарии:
1. Правильно, это соответствует тому, что я ищу: чтобы отключить правописание, когда файл уценен, я бы использовал: autocmd FileType markdown setlocal syntax = отключить правописание
2. Есть ли эквивалент: autocmd BuffType Conque_term setlocal CursorHoldI,CursorMovedI отключен. вышеуказанное не сработало
3. Я не использую плагин — проверьте сами, например, с помощью
:setl buftype?
в буфере Conque. Также обратите внимание, что настройка в моем ответе должна быть вызвана для каждого буфера Conque, чтобы у вас было что-то вместе:autocmd FileType ... autocmd WinEnter ...