0

保存時にunixコマンドを使用したい。コマンドはファイルパスを返します。以下のように:

pseudo code
:w !command

# I name this command 'mami'
$ MAMI_DIR=~/work echo $MAMI_DIR/$(date "+%Y-%m-%d-%H-%M-%S").txt
#=> /Users/sane/work/2012-09-13-01-58-01.txt

https://gist.github.com/3713132

# my expectation
:w !mami
#=> to save /Users/sane/work/2012-09-13-01-58-01.txt
# or
:mami
#=> to save /Users/sane/work/2012-09-13-01-58-01.txt

しかし、私のexecは文字列またはエラーを返すだけです:

:w !mami
#=> This show only file path, /Users/sane/work/2012-09-13-01-58-01.txt and said "press key"
:w !$(MAMI_DIR=~/work echo $MAMI_DIR/$(date "+%Y-%m-%d-%H-%M-%S").txt)
#=> This return value 127

どうすればこれを達成できますか?これはvimスクリプトの領域ですか?提案をお願いします。

4

3 に答える 3

4

できるよ

:w `mami`

あなたが望むものを達成するために。実際に行っていたのは、出力をmamiコマンドにパイプすることでした。

于 2012-09-13T17:54:34.213 に答える
0

やらmamiせてください:

MAMI_DIR=~/work cat >$MAMI_DIR/$(date "+%Y-%m-%d-%H-%M-%S").txt

その後w !mami

于 2012-09-13T17:49:58.947 に答える
0

あなたはバックティックでこれを行うことができます:

:w `mami`
于 2012-09-13T17:52:54.637 に答える