Прямо сейчас я играю с автозаполнениями в vim, и я установил supertab для обработки моих завершений. Хотя он работает очень плавно и (я думаю) точно так, как он разработан, я хотел бы знать, как что-то изменить.Как эффективно отменить автозаполнение в vim
Во-первых, я бегу 7.3.429 на Ubuntu 12.04LTS с
set completeopt=menuone,preview,longest
так, что у меня есть Баш типа автодополнение с supertab, и по умолчанию в комплекте.
Давайте предположим, что у меня есть следующие в моем файле:
aaabbbcccddd
aaabbccddeef
aaabbcddeeff
Если я печатаю aa
и нажмите Tab, затем ВИМ понял, что aaabb
является наибольшей общей строкой среди матчей, поэтому он вставляет aaabb
и отображает меню, содержащее три параметра. Если мне действительно нужен один из этих вариантов, то все хорошо. Но, может быть, я действительно хотел aaaaazzzzz
, но не понял, что еще не набрал его.
Есть ли хороший способ сказать vim: «О, извините, я не собирался делать это в конце концов! Пожалуйста, притворись, что я этого не сделал».
Прямо сейчас, варианты, очевидные для меня являются:
- Hit Tab или Shift, + Tab достаточное количество раз, чтобы вернуться к своей исходной. Но если есть много похожих слов, особенно до разных длин, это раздражает.
- Хит backspace однако много раз необходимо, или какой-либо другой наивный удаление. Но это, безусловно, лишние ключевые штрихи.
- Убейте Esc + u, чтобы отменить, но это отменяет все мое слово (или больше, если я набираю текст быстро). Это совершенно неприемлемо. А потом мне нужно снова войти в режим вставки и повторить. Валовой.
- Хит Ctrl + U для отмены, не выходя из режима вставки. Но это также имеет тенденцию слишком сильно удалять.
- Хит Ctrl + W, чтобы удалить последнее слово. Пока я получаю это, не выходя из режима вставки, мне все равно придется перепечатывать. Это лучшее, что я нашел до сих пор.
Если у меня не было longest
включена, то я мог бы использовать Ctrl +E, который выходит из меню без вставки ничего другого. Но с тех пор, как он длится, он останавливает автозаполнение, но оставляет самое длинное общее совпадение.
Конечно, должен быть лучший способ сделать это.
спасибо. Я не пробовал. Но, признаюсь, я смущен. Читая документацию, я не интерпретирую текущее соответствие как исходный, самый длинный текст вообще. Особенно, когда , по-видимому, указывает, что это должно быть то, что отменяет завершение. Я читаю документацию очень неправильно? –
mixedmath
Я понимаю, почему вы путаетесь о '', однако вам нужно прочитать чуть дальше: завершите завершение, вернитесь к тому, что было там, прежде чем выбирать соответствие (что было типизировано или самая длинная общая строка). –