2014-10-17 82 views
0

在VIM中输入此代码后,是否可以将它发送到shell, 就好像它是在那里键入的一样,因此我会定义该函数 在shell中,我会通过调用它来运行它?将代码段从vim发送到shell以进行临时测试(bash)

# declare helper functions 
function gen_credentials { 
    cat > .credentials <<-EOM 
    password: my_secret_password 
    user: my_pretty_name 
    db: script_db5 
    dbprefix: son_45678 
    live_site: sonikete3.com 
    sqlfile: test-import.sql 
    log_path: $(pwd) 
    tmp_path: $(pwd) 
EOM 
} 

上面的代码段中,是一个整个文件的一小部分,所以我想发送的代码作为可视选择壳,而不是经由%取代传递整个脚本。

回答

2
  1. 选择线条。

  2. 型号:进入命令行模式时,可视范围会自动为您插入::'<,'>

  3. 类型:'<,'>w !sh并按回车。

参见:help :w_c

你可以用你需要的任何解释器代替sh

+0

我错过了,是'w'部分。 – branquito 2014-10-18 07:02:45

0

的命令是

:! ./% 

现在,将它分解,:!告诉你想让它到命令的其余部分传递给shell活力。 %是引用当前文件的符号。

请注意,这仅适用于保存文件的情况。

+0

对不起,我不清楚我的问题,我知道我可以像这样运行整个脚本,但将该示例函数代码作为更大文件的一小段而不是'%',是否有发送方法视觉选择以相同的方式来壳? – branquito 2014-10-18 00:11:14