Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 输入到终端类似于git rebase-i_Shell_Editor - Fatal编程技术网

Shell 输入到终端类似于git rebase-i

Shell 输入到终端类似于git rebase-i,shell,editor,Shell,Editor,我正在编写一个CLI应用程序,在该应用程序中,向用户请求长表单输入可能会有所帮助,可以将其粘贴到终端中 git-rebase-i以这种精确的方式获取输入,只需打开一个编辑器(在我的例子中是neovim),而不必提供一些额外的接口。我如何复制这个?如果用户也可以选择编辑器,那就太好了 我是用Rust编写的,但假设这将通过另一个CLI程序实现。通常用户环境中有两个变量,要么是编辑器要么是可视化。如果设置了,它们都将包含应该用作默认编辑器的命令。历史上,VISUAL用于具有高级功能的现代终端,而EDI

我正在编写一个CLI应用程序,在该应用程序中,向用户请求长表单输入可能会有所帮助,可以将其粘贴到终端中

git-rebase-i
以这种精确的方式获取输入,只需打开一个编辑器(在我的例子中是neovim),而不必提供一些额外的接口。我如何复制这个?如果用户也可以选择编辑器,那就太好了


我是用Rust编写的,但假设这将通过另一个CLI程序实现。

通常用户环境中有两个变量,要么是
编辑器
要么是
可视化
。如果设置了,它们都将包含应该用作默认编辑器的命令。历史上,
VISUAL
用于具有高级功能的现代终端,而
EDITOR
用于电传终端(在纸上打印结果的终端)上的行文本编辑器(如
ed
ex
,等等)。现在,应该优先选择哪个变量是有争议的-大多数程序,包括
git
,仍然首先选择
VISUAL
,然后回退到
EDITOR
。如果没有设置这些变量,您可以自己选择合理的默认编辑器