vim - 使用当前文件名和文件路径从 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
和%
特殊变量。有没有办法做到这一点?
解决方案
为什么要它,它是一个字符串。您想要的是将您的字符串与一些变量组合/连接:
'silent !file=' . expand('%:p:h') . ' && mtime ..........
推荐阅读
- ruby-on-rails - 带有 has_many: :through 的 Rails 计数器缓存
- git - 一个文件需要在 git global repo 中,它应该被 git 忽略
- json - 如何在 Go 中将字符串转换为 JSON?
- sql - Order by 如何不与 part by 一起使用?
- r - 使用正则表达式删除与国民保险号码格式不匹配的行
- linux - 启动 VM 时出错 - CentOS 内核恐慌 - 不同步:试图杀死
- java - 如果属性具有相同的结果属性,则 JSON writeValueAsString 返回 1
- javascript - 确定在 HTML 画布中绘制的直线和曲线之间的距离
- nuget - 哪些 Nuget(全局)引用了特定的 Nuget
- sql - 我需要将插入到表中的数据提取到两个表中