Questions tagged «invocation»

有关vim可以从shell中使用的不同选项以及启动编辑器的不同命令的问题。

5
使用xargs调用Vim后终端出现问题
我有时尝试使用调用Vim xargs,如下所示: find . -name '*.java' | xargs vim ……哪种作品? Vim启动时,我会短暂看到以下警告闪烁: Vim: Warning: Input is not from a terminal 编辑工作— :files正确枚举了所有.java文件,如预期的那样。 我可以保存并退出。 但是,退出Vim后,我的终端很闷: 我在shell提示符下键入的任何内容都不会回显。 回车根本不出现,换行符有时仅出现。 直到我发出reset(1)命令重新初始化终端为止。 这是Vim的错误,还是关于它为何与终端交互的更令人满意的解释?我已经看到它发生在Linux和各种Unices上的7.3版的Vim上(该版本似乎无关紧要)。 我知道一种解决方法,即vim $(find . -name '*.java')。其他解决方法也将受到欢迎,尽管这不是我的主要问题。


1
如何非交互地编辑文件(例如在管道中)?
我想以非交互方式使用vim编辑在管道输入中传递的文件,或就地编辑文件(类似于sed)。 很少使用sed以下示例: $ sed -i'.bak' s/foo/test/g file # Edit file in-place. $ cat file | sed s/foo/test/g # Parse file in pipeline. 但是我可以在这里读到: sed是S tream ED管理员,不是文件编辑器。但是,各地的人们都倾向于滥用它来尝试编辑文件。它不编辑文件。 其次,一些选项,例如就地编辑(-i)是可移植的。 在vim中如何实现相同的功能?

4
自动将Vi载入插入模式
我将Vi用作Linux系统上我的首选(实际上,也是唯一的)文本编辑器。我知道如何将模式从普通更改为插入,反之亦然。Vi是否可以自动加载到插入模式而不是普通模式?


5
是否可以将vim命令传递到vim?
我要运行以下shell。 wea-this is the end of the second word | vim j exit 0 我希望可以将击键w(向前移动一个单词),然后e(该单词的末尾),然后a(附加)然后-this is the end of the second word(文本)用管道传递到j已包含单词的Vim文档。 当我运行shell脚本时发生以下错误。 /root/bin/tt.sh: line 1: wea-this: command not found Vim: Warning: Input is not from a terminal 我正在运行Ubuntu 14.04。两种类型的答案将不胜感激: 如何使用管道来达到这个理想的结果。 我可以使用“ Vim命令”(不是ed或sed命令)从Shell脚本编辑文本文档的另一种方法。
18 invocation 

4
如何从标准输入中编辑内容?
我想在vim中编辑从命令行动态生成的内容,而没有文件。 例如: $ echo This is example. | vim /dev/stdin $ cat /etc/hosts | vim /dev/stdin 但是失败并显示以下错误: Vim:警告:输入不是来自终端 Vim:读取输入错误,正在退出... 有可能实现吗?

3
如何确定Linux发行版上是否安装了Vi或Vim?
我使用默认安装(bash,Konsole)的Kubuntu 14.04。我想学习一个功能强大的全键盘文本编辑器,并选择以下一种:Vi,Vim,Emacs(并且我将学习Nano,因为它很简单)。我对命令行有一些经验:Bash和Python,所以我准备在不使用Windows系统的情况下使用Linux时增加另一项技能。 在Bash中,键入vim或emacs提示我安装软件包。 打字的vi作品。它运行一个编辑器,所以我认为它一定是Vi。 但闪屏,如果你击称呼它,说VIM Vi Improved和它的Running in Vi compatible mode。所以现在我想一定是Vim。 那是什么?为什么输入vimbash不能运行我的编辑器?

1
在“原始”模式下试用vim / gvim
有时,我想尝试一下在互联网上找到的技巧。在原始模式下,即在不加载我所有的〜/ .vimrc东西的情况下,在vim(如果是gui技巧,是gvim)中尝试此操作通常会很有帮助。 您有有效的技巧吗?

2
如何从命令行将整个缓冲区写入标准输出?
我想将整个缓冲区/dev/stdout而不是文件写入标准输出(),并且以下命令在编辑文件时按预期工作: :w >> /dev/stdout 提示:按Control+ L刷新屏幕。 但是,当我尝试从命令行(非交互式)执行相同操作时,它无法按预期工作,例如: $ echo This is example. | vim - '+:w >> /dev/stdout' '+:q!' Vim: Reading from stdin... 与同:w !tee,:x! /dev/stdout,:%print和类似的。 退出之前,这是说:[Device] 1L, 17C appended。 有什么办法迫使vim在管道中间将标准输入写入标准输出?也许以某种方式缓冲了吗?

2
为什么Vim不提供我的.vimrc文件
今天,我发现我.vimrc没有生效。几小时前还可以。 当我用启动vim时$vim --plugin,:scriptnames没有回声:.vimrc文件不是源文件。(注意:/etc/vimrc已删除,以调试此问题。) 然后,我尝试使用google并发现$VIMINIT变量可疑。 这是值$VIMINIT: $ echo $VIMINIT set number Vim文档VIMINIT: c. Four places are searched for initializations. The first that exists is used, the others are ignored. The $MYVIMRC environment variable is set to the file that was first found, unless $MYVIMRC was already set. - The environment variable …
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.