У меня есть скрипт bash, который собирает некоторые данные, затем передает их через fzf для выбора пользователем, затем манипулирует выбором, а затем печатает его в стандартный вывод.
Это моделирует скрипт:
#!/bin/sh
echo hello | fzf | sed 's/h/j/g'
Это прекрасно работает из командной строки, но при запуске его из vim для включения в текущий буфер, пользовательский интерфейс fzf никогда не отображается, и я получаю escape-последовательности ANSI, включенные в результат:
Не имеет значения, как я запускаю команду из vim. Я пробовал :read !{cmd}
, :.!{cmd}
и даже :let a=system('{cmd}')
.
Например, я ожидал, что это сработает:
:read !echo hello | fzf | sed 's/h/j/g'
fzf, кажется, вводит в заблуждение стандартный вывод дляtty.
Я знаю, что это не ограничение vim, поскольку, если я заменю fzf на другой интерактивный инструмент выбора с tty, он работает.
Есть ли опция fzf или vim длясделать эту работу?