如果我在 VISUAL 模式下在 VIM 缓冲区中选择以下文本
f() {
echo "f";
}
f
然后执行
:'<,'>w !xclip | !eval "$(xclip -o)"
我明白了
/bin/bash: eval: line 3: syntax error near unexpected token `('
/bin/bash: eval: line 3: `feval f() {'
如何正确链接 2 个命令,以便第一个将 VISUAL 选择复制到系统剪贴板,第二个通过使用对其进行评估eval
?
在我的测试中运行得非常好(Ubuntu 16.04 LTS,带有 bash 4.3,vim 7.4),并将 4 行转换为单个字符“f”。尽管不推荐,但替换
&&
为也可以。|
我不认为使用 vim 运行 shell 命令与在通常的 shell 中运行有很大不同,而且不应该如此。
尝试这个:
!
需要使用一次,vim 会将命令作为一个命令运行。