[vi ++从vim中的文件输入

问题描述 投票:0回答:1

我有一个名为code.cpp的C ++文件,它从一个名为input.txt的文件中获取输入。编译后,我想像这样code.exe < input.txt从vim运行文件。但是执行!$code_directory < $input_directory不起作用,因为由于某种原因,vim无法处理!<,因此将其转换为^<。解决方法是什么?

c++ windows vim
1个回答
1
投票

Vim完美支持

:!path/to/executable < other/path/to/file

尽管它与:term path/to/exec < path/to/file无关,但是与neovim在这里没有麻烦的情况不同。

给出简单

#include <iostream>
int main()
{
    std::string line;
    while (std::getline(std::cin, line)) {
        std::cout << line << "\n";
    }
}

:make %<编译(我使用的是g ++-cygwin而不是g ++-mingw),:!./%< < %完美地工作。

[如果我刚才描述的内容不起作用,如我看到的windows标签,也许您的&shell*选项设置不正确?在Windows中,我必须将默认gvim与cygwin一起使用,以更改默认设置。在纯Windows环境中,我确定my settings are(不要问我为什么,这是15到20年的实验结果,我绝对不记得我所做的所有测试)

let &shell=$COMSPEC
set shellslash
set shellcmdflag=/c
set shellquote=
set shellxquote=
set shellredir=>
set shellpipe=>
© www.soinside.com 2019 - 2024. All rights reserved.