首页 > 解决方案 > 使用当前文件名和文件路径从 vim 执行 bash 命令

问题描述

我正在尝试这样做以保存文件而不更改时间戳。

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

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

标签: vim

解决方案


为什么要它,它是一个字符串。您想要的是将您的字符串与一些变量组合/连接:

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

推荐阅读