Answers:
我在stack-overflow上写了一个相当广泛的答案。基本思想是,由于write命令是关于写而不是保存的,因此您可以将缓冲区中的文本写入外部程序,例如python或bash。对于您的情况,您可能想要执行以下操作:
:w !bash
要么
:w !sh
这些命令从字面上看只是将缓冲区中的文本直接写到您使用指定的程序中!
,这很方便,因为这样就不需要保存文件。当然,您也可以执行以下操作:
:w | !bash %
它会保存您的文件,然后将其作为bash脚本运行。您可以选择对您更有意义的一种。
:w !bash -a test
但得到“无法执行二进制文件”
test
文件在cygwin中尝试时,它对我来说运行良好。该命令应该做什么,应该test
包含什么?
test
?test
只是对的一个论点-a
。
test
应该是文件。我不太确定该怎么办。如果您要尝试复杂的操作,最好将其保存在文件中。可能需要单独提出一个问题,以便您提供更多详细信息。对于Unix和Linux来说
场景:您正在使用bash shell。首先,确保本地编辑模式为vi:
$ set -o vi
现在,当您发现自己正在执行如下所示的长命令时,请按Esc+ v。
$ fjhwfq this is my long command
这会将您的命令加载到临时vi
会话中。现在,您可以根据需要对其进行编辑,甚至可以添加另一个命令...
fjhwfq some long command
ls -l
完成编辑后,键入,Esc :wq
然后将执行命令,例如:
$ fjhwfq some long command
fjhwfq some long command
bash: fjhwfq: command not found
ls -l
total 44
-rw-r--r-- 1 ropata Domain Users 24073 Nov 10 14:17 _viminfo
drwxr-xr-x 1 ropata Domain Users 0 Jul 15 13:57 bin/
-rw-r--r-- 1 ropata Domain Users 956 Nov 7 10:43 custom_env
Esc
密钥的新
Esc
钥匙!那么他们如何使用Vim?
Esc
按键。
<C-x><C-e>
并在写入时执行它,对吗?