代码之家  ›  专栏  ›  技术社区  ›  StevieD

使用当前文件名和文件路径从vim执行bash命令

vim
  •  0
  • StevieD  · 技术社区  · 7 年前

    我想这样做是为了在不改变时间戳的情况下保存一个文件。

    nnoremap <F3> :execute 'silent !file=%:p:h && mtime=$(stat -c %y "%") && vim "%" && touch -d "$mtime" "%" && ~/bin/refresh_safari quick'<CR><CR>

    这个 %:ph:h % 但是,特殊变量不会被插值。有办法做到这一点吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   B.G.    7 年前

    为什么要这样,它是一根弦。您需要的是将字符串与一些变量组合/concat:

    'silent !file=' . expand('%:p:h') . ' && mtime ..........