Я недавно перешел на рыбную оболочку с zsh, и у меня возникли ошибки при обновлении файла конфигурации nvim

Похоже, что ошибка возникает при проверке переменной среды $TMUX в условном операторе. Я добавил set shell=/bin/bash в конфигурацию, чтобы решить проблему с перезагрузкой vim, но ошибка не исчезла.

Вот ошибка, когда я пытаюсь source ~/.config/nvim/init.vim:

~/.config/nvim/init.vim (line 99): Illegal command name “exists("$TMUX")”
if exists("$TMUX")
   ^
from sourcing file ~/.config/nvim/init.vim
    called on line 1 of file -

in function “sv”
    called on standard input

source: Error while reading file “/home/slick/.config/nvim/init.vim”

Смущен, потому что я не очень разбираюсь в vimscript и не уверен, на каком языке должен быть написан условный оператор в конфигурации nvim или как устранить эту ошибку.

1
rgalbo 31 Дек 2017 в 03:01

2 ответа

Лучший ответ
source ~/.config/nvim/init.vim

- это команда Neovim, а не команда оболочки. Нет никаких причин вообще ожидать, что ваша оболочка понимает язык сценариев Neovim, поэтому выполнение этой команды в вашей оболочке не имеет смысла вообще .

Запустите его в Neovim, а не в своей оболочке.

3
romainl 31 Дек 2017 в 11:38

Сценарии Vim, запускающие внешние команды, ожидают оболочки, совместимой с POSIX. Fish явно не совместим с POSIX. Добавьте set shell=/bin/sh (или другую оболочку POSIX) в свой vimrc.

1
Kurtis Rader 31 Дек 2017 в 03:16