neovim终端仿真器的用例?


10

neovim和Vim的最大区别是neovim包括一个异步工作的终端仿真器

但是,我看不到如何从此功能中受益。我可以用什么呢?您能为neovim的终端功能提供一些用例,以便我了解如何最大程度地使用它吗?

在普通的Vim我通常使用:read !{command}:write !{command}Ctrl+Zfg以及TMUX分割窗口。


一个问题<C-z>是Vim进程已被操作系统挂起:它没有做任何事情(包括响应服务器命令)。
马丁·图尔诺伊

它是否有助于使用:shellexit替代或VIM这里也被暂停?
cbaumhardt 2015年

1
@Carpetsmoker,不使用文本编辑器时,您希望它做什么?
romainl 2015年

@romainl好,例如,我有一个脚本,该脚本将重点放在Vim会话上编辑特定文件;这将挂起暂停的Vim程序...
Martin Tournoij 2015年

1
那不是问题<C-z>,这是您脚本的问题。
romainl 2015年

Answers:


10

在Vim中运行终端可让您在该终端上运行的程序的输入和输出上使用Vim命令。您可以进行搜索,复制,粘贴,宏,语法着色等。使用:read !{command}:write !{command}为单次命令提供该功能,但是当您希望逐个将输入提交给外部程序时,异步输入/输出将非常有用。

典型的用例是读取评估打印循环(REPL),该循环由许多高级编程语言提供。您在源代码中键入一个节,然后将其提供给REPL以立即获得反馈。由于REPL会从一个提交继续运行到下一个提交,因此提交的代码段将在上下文中执行。


6

我认为创建仅终端映射的选项很有价值,并且扩展了您在其他终端仿真器中拥有的选项,例如,映射t以运行具有特定配置的单元测试,您只能通过复杂的别名或bash函数来实现。


4

我能想到的最明显的用例是编程。您是否曾经想在VIM中运行测试,编译或使用任何控制台工具?我知道人们在使用Tmux,但我知道您可以在NeoVIM内做到这一点。这真棒!

如果使用缓冲区,则可以根据需要添加,删除,隐藏和显示终端。那就是利润;)

在NeoVIM中运行外壳


3

我能想到的最佳用例是110 bps线路上的原始单ADM-3a!有时候,并肩并肩看东西确实是无可替代的,而且:!r不会减少。


3
祝你好运,在两个39x12(或39x24!)窗口中完成所有工作;-)
romainl 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.