Vim输入不是来自终端

Way*_* Ye 11 vim terminal

which django-admin.py | vim
Vim: Warning: Input is not from a terminal
Vim: Error reading input, exiting...
Vim: Finished.
Run Code Online (Sandbox Code Playgroud)

解决这个问题的最简单方法是什么?实际上让vim打开" /usr/local/bin/django-admin.py"

基本上我想在我的个人博客上托管一个自动安装的自定义vim:http://wayneye.com/vim,你可以通过导航到它看到shell脚本,它只包含以下命令:

git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim \
curl -L -o ~/.vimrc https://raw.githubusercontent.com/WayneYe/WayneDevLab/master/wayne.vimrc \
vim +PluginInstall
Run Code Online (Sandbox Code Playgroud)

但是,当我卷曲http://wayneye.com/vim | 嘘,我得到了" 输入不是来自终端错误 ",我该怎么办呢?

Shr*_*yas 12

为了让您从中读取,stdin需要通过-在命令行使用参数来明确告诉VIM .

所以在你的情况下,这应该工作:

which django-admin.py | vim -
Run Code Online (Sandbox Code Playgroud)

但是,当您使用which文件名时,您是否希望它显示路径或路径django-admin.py中存在的可执行文件?在这种情况下,你很好.

  • 这会将标准输入打开为文本文件,例如 `echo 1 | vim -` 将打开一个名为“-stdin-”、内容为“1”的文本文件 (2认同)

Ale*_*dan 6

您可以尝试以下方法:

% vim "$(which django-admin.py)"
Run Code Online (Sandbox Code Playgroud)

它应该工作,只要命令django-admin.py实际找到which它并且没有别名.