将代码段从vim发送到shell进行临时测试(bash)

时间:2014-10-17 23:16:02

标签: shell vim

在VIM中键入此内容,是否可以将其发送到shell, 好像它是在那里输入的,因此我将定义该功能 在shell中,我会在那里调用它来运行它吗?

# 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
}

上面的代码片段是整个文件的一小部分,因此我想将一段代码作为视觉选择发送到shell,而不是通过%替换传递整个脚本。

2 个答案:

答案 0 :(得分:2)

  1. 选择行。

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

  3. 输入:'<,'>w !sh并按Enter键。

  4. 请参阅:help :w_c

    您可以将sh替换为您需要的任何解释器。

答案 1 :(得分:0)

命令是

:! ./%

现在,将其分解,:!告诉vim您希望它将其余命令传递给shell。 %是引用当前文件的符号。

请注意,这仅在保存文件时有效。