Tabstops в Ultisnips не работает должным образом с Zsh - PullRequest
0 голосов
/ 30 октября 2019

Я недавно переключился с bash на zsh, и теперь таб-стопы в моих фрагментах Ultisnips больше не работают должным образом.

Я ничего не изменил в моих файлах фрагментов, и после того, как я столкнулся с проблемой дляв первый раз я вернулся в bash, запустил vim оттуда, и фрагменты снова заработали, как задумано.

У меня есть эти фрагменты

snippet ( iA
($1)$0
endsnippet

snippet mk wA
$$1$$0
endsnippet

Если я запускаю vim из bash и набираю mk, он расширится до

$Cursor$

(положение курсора я обозначу Cursor). Затем я могу набрать f(, и он расширится до

$f(Cursor)$

Если я нажму x, а затем tab, это приведет меня к

$f(x)Cursor$

(я позвонюэтот предыдущий шаг S ). При повторном нажатии tab я получу

$f(x)$Cursor

Запустив vim из zsh, я все равно могу выполнить шаги до S , но если я затем нажму tab, он останетсяна

$f(x)Cursor$

и начинайте вставку вкладок после этого. Если я только сделаю mk и введу что-то еще без скобок, например ab

$abCursor$

, а затем нажму tab, это сработает, как ожидается, и выведет меня на

$ab$Cursor

Кто-нибудь знает, что здесь происходит? Что я могу сделать, если я хочу продолжать использовать zsh и Ultisnips? Если я запускаю bash -c 'vim file.txt', vim будет работать очень медленно и сильно отставать, так что на самом деле это не вариант. Буду признателен за любую помощь.

Редактировать: Очевидно, проблема связана с тем, какую версию vim я использую. Я использую macOS, и описанная мной проблема возникает при использовании версии vim по умолчанию. Если я использую скомпилированную версию vim, она работает как положено. И, как оказалось, у меня есть некоторый конфигурационный файл, который говорит bash использовать версию, скомпилированную пользователем, тогда как zsh по-прежнему использует версию по умолчанию. Я также попробовал это на моем ПК (под управлением Ubuntu), и с установленной там версией vim, это также работало. Так что, я думаю, я воспользуюсь своим специально скомпилированным vim, чтобы избежать этой проблемы ...

Но кто-нибудь знает, какой параметр vim может за это отвечать? Если я не ошибаюсь, моя скомпилированная версия - это просто версия vim с большими возможностями.

...