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

2023-12-27

我试图这样做是为了保存文件而不更改时间戳。

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

The %:ph:h and %然而,特殊变量不会被插值。有办法实现这一点吗?


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

'silent !file=' . expand('%:p:h') . ' && mtime .......... 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • vim:视觉明星搜索未按预期工作

    我复制了这个函数来进行视觉搜索 and function s VSetSearch cmdtype let temp s norm gv sy let V substitute escape s a cmdtype n n g let s
  • 在Vim中,如何删除单词的后缀?

    在vim中 在正常模式下 如果光标位于单词中 而不是最后一个字母 de从光标位置删除单词的后缀 如果光标位于最后一个字母上 x也这样做 同时de会跳到下一个单词的末尾 您将使用什么命令在这两种情况下都有效 无论最后一个字母与否 目的是将命令
  • 如何在会话自动加载的同时在 vim 中打开文件?

    我在 vimrc 中有以下代码 可以在 vim 启动时自动保存 加载会话 Session saving Automatically save rewrite the session when leaving Vim augroup leav
  • 在 vim 中,+register 和 +register 与 .命令?

    我很难理解这个问题的解决方案维姆高尔夫挑战赛 http vimgolf com challenges 5192f96ad8df110002000002 最好的建议解决方案是 cw
  • Vim 关闭窗口而不关闭缓冲区

    如何在不删除缓冲区的情况下关闭窗口或取消分割 A window is a viewport on a buffer In vim to manage windows it is CTRL w the leading command that
  • 如何在 Vim 中从命令行模式复制文本?

    比如说 我刚刚在 Vim 中运行了这个命令 nmap
  • vim - 如何删除 netrw?

    我正在测试https github com skwp dotfiles https github com skwp dotfiles 不幸的是它确实安装了很多我不想要的东西 例如 现在 使用空的 vimrc 当我打开 vim 时 我得到 N
  • 如何使用 tmuxinator 在 tmux 中拆分水平窗格内的两个垂直窗格

    目前我的 tmuxinator yml 文件中有这个 windows editor layout main horizontal panes vim server rails s 这给了我两个窗口 一个用于编辑器 另一个用于服务器 在编辑器
  • 如果文件类型 == tex

    如果文件是乳胶文件 我想在 vimrc 中运行命令 我想我的语法有问题 但它不起作用 有什么线索吗 if filetype tex set spell endif 您可以使用自动命令来实现您想要的 autocmd BufNewFile Bu
  • Vim errorformat:在消息字符串中包含部分表达式

    使用vim的errorformat语法 有没有办法使用部分消息来过滤结果 例如 除了错误本身之外 某些链接器错误没有任何明确的内容将它们区分为线路上的错误 path to foo cpp 42 undefined reference to
  • Vim 函数插入带有传递参数的静态文本

    背景 I m interested in writing a function that assigned to keyboard shortcut s when invoked would 采取用户参数 计算值反映80 string le
  • :set 选项的显示值

    如果你不给 colorscheme一个参数 然后它显示 vim 当前使用的颜色方案的名称 vim 中是否有类似的方法来显示是否设置了选项或如果选项的值不是布尔值则设置为什么 例如 如果我想知道是否autoindent已设置或者我想知道的值t
  • Vim 脚本中的“reduce”函数

    Vim 脚本有一些非常基本的函数式编程工具 It has map and filter 但据我所知它缺乏reduce 功能 Reduce https en wikipedia org wiki Fold 28higher order fun
  • 在 Vim 分割窗口中打开函数定义?

    我知道你可以使用ctrl 在 Vim 中跳转到定义 但是有没有办法让它在分割窗口而不是当前缓冲区中打开 我知道我可以打开一个新的分割窗口 然后使用ctrl 但是有没有更快的方法呢
  • 设置高亮大括号的 vim 颜色主题

    如何更改突出显示大括号的 vim 配色方案 我希望实际编辑 vim 主题文件以使更改永久生效 问候 克雷格 匹配括号的自动高亮颜色称为MatchParen 您可以通过执行以下操作来更改 vimrc 中的颜色 highlight MatchP
  • 如何使用 JSHint 配置 Syntastic?

    如何使用 Syntastic Vim 插件和 JSHint 来验证 JavaScript 代码 环境 乌班图11 04 VIM Vi 改进 7 3 我已经安装了 按照解决方案VIM JSLint https stackoverflow co
  • 仅当源文件为 LaTeX 时,Vim 才会重新映射 [重复]

    这个问题在这里已经有答案了 我的键盘上有一个 键 有时我想在 Vim 中编辑 LaTeX 时使用它来扩展为正确的表达式 即 frac 1 2 我知道我应该做类似的事情 inoremap frac 1 2 现在 我如何使其仅适用于 LaTeX
  • MacVim:跨窗口共享命名寄存器?

    我想跨 MacVim 窗口共享命名寄存器缓冲区 就像我在单个实例中跨缓冲区一样 换句话说 假设我标记了一个位置 m 然后去其他地方 我将一些文本拉入寄存器 a 从当前点到 m a m 然后我转到另一个窗口 不 我不是指同一窗口中的另一个分割
  • Vim 扩展(通过 Python)?

    是否可以通过自定义扩展 最好用 Python 编写 来扩展 vim 功能 理想情况下 我需要的是在命令模式下的自定义命令 例如 ESC do this do that vim 支持 python 脚本 我认为也支持 perl 您只需确保您使
  • 在 Vim 中,选择、删除或注释掉大部分多屏幕文本的最佳方法是什么?

    在像 Eclipse 这样的 IDE 中选择延伸到多个屏幕的大量文本相当容易 因为您可以使用鼠标 但是最好的方法是什么 例如 选择并删除多屏幕文本块或写入例如三个大方法导出到另一个文件 然后在 Vim 中删除它们以进行测试 当通过 putt

随机推荐

  • 自定义 UINavigationController UIToolbar 背景图片

    我有一个 iPhone 应用程序使用UINavigationController并希望使用自定义背景图像自定义元素 我能够为UINavigationController s UINavigationBar使用 Objective C 类别很
  • Android 推送通知

    我参考了链接a link http www vogella de code de vogella android c2dm codestartpage html开发推送通知 但在运行时向我显示 UI main xml 我应该如何创建推送通知
  • 单击时选项菜单不会显示第一个选项(Tkinter)

    我添加了一个OptionMenu小部件到我的代码 并分配一个列表作为它的选项 事情是这样的 z StringVar z set userList 0 usersOption OptionMenu frame1 z userList comm
  • head() 函数在“for”循环中不起作用?

    我尝试使用 for 循环打印出几行 这是代码 奇怪的是它不适用于 head 函数 如果我更换它就可以了head with print kw id c a b keyword text data frame col c a b col2 c
  • 为什么 TFS 忽略我的解决方案中的项目?

    我的解决方案中有多个项目位于 TFS 2010 存储库中 最近几天 我向此解决方案添加了大约 5 个新项目 我发现对于其中一个项目 项目文件本身不会签入 TFS 该项目中包含的所有工件都工作正常 他们已签入 我可以在团队资源管理器中看到他们
  • 错误代码 220 - 尝试转发时“您的凭据不允许访问此资源”

    当我试图得到https api twitter com 1 1 statuses retweets 21947795900469248 json https api twitter com 1 1 statuses retweets 219
  • 我可以在 iOS 7 上手动提示用户登录 Game Center 吗?

    根据 Apple 的 Game Center 编程指南 此代码设置了一个身份验证处理程序 如果您在游戏开始时运行此命令 第一次运行它时 如果用户尚未登录 它将提示用户登录 void authenticateLocalPlayer GKLoc
  • 如何跟踪对象的引用?

    在手动内存分配和指针仍然占主导地位的世界中 Borland Delphi 我需要一个通用的解决方案来解决我认为的普遍问题 在给定时刻 可以从多个位置 列表 其他对象 引用一个对象 有没有一种好方法来跟踪所有这些引用 以便我可以在对象被销毁时
  • Groovy 元类的范围?

    我有一个可以运行脚本来自动执行某些任务的应用程序 我想在这些脚本中使用元编程来优化代码大小和可读性 所以而不是 try def res factory allocate do something with res finally res c
  • 如何使用eclim运行java程序?

    我似乎无法使用 eclim 运行简单的 Hello World 程序 我按照安装指南进行操作http eclim org guides install html guides install http eclim org guides in
  • 管理员登录停止运行 Django

    我在我的项目上工作了一段时间 最近注意到当我尝试访问 localhost admin 时 它给出了一个错误 DoesNotExist at admin Site matching query does not exist Request M
  • GOPATH 为空(Gogland IDE)

    我对 Go 和 Gogland 还很陌生 我刚刚下载了 go1 8 3 windows amd64 msi 将其安装在 C 盘中 然后开始在记事本中编写程序 最后从终端运行它 我在 Gogland 方面遇到了一些问题 我有 intelliJ
  • RingtonePreference 不保存其值

    我已经使用了一些偏好 例如EditTextPreference等等 它们都有效 但现在我需要使用RingtonePreference 并且无法正常工作 这是非常简单的代码
  • 如何在 Jmeter 中设置和获取环境变量来测试 API

    我需要在 Jmeter 中设置和获取变量以实现 API 自动化 我正在使用 groovy 脚本来实现同样的目的 我使用如下代码实现了相同的效果 import org apache jmeter util JMeterUtils JMeter
  • Ajax成功:{return false;}

    我想回来false from ajax when success做完了 ajax url website url queries voorraad berekenen php type post data aantal this paren
  • Facebook 聊天 API 的替代方案

    既然 Facebook 的 Chat API chat facebook com 和 XMPP 之类的东西 已被弃用 那么它的替代品是什么 有宣布什么吗 None
  • 批量.txt阅读器

    所以 基本上我想要一个批处理文件来读取 txt 问题是每次将新行写入 txt 时 批处理文件都需要更新 echo off set pc 1 FOR F delims A IN findstr N pc DO set zeilen A typ
  • Excel 中的 Odoo 图像

    我正在使用 xlsxwriter 创建一个 excel 文件 需要将我的公司徽标放入这些 excel 文件中 我一直在尝试使用 insert image 但没有成功 我想这就像将partner image解析到缓冲区中一样 但我卡住了 请帮
  • 导航架构片段重载问题

    我在图片库中使用导航架构 当我从片段 A 到 B 然后返回到 A 时 这 3 种方法是又打来电话这将使我的画廊reload 我应该在哪里加载片段中的数据 这样当我从 B 返回到 A 时 我的方法就不会被调用 创建视图时 视图创建时 OnRe
  • 使用当前文件名和文件路径从 vim 执行 bash 命令

    我试图这样做是为了保存文件而不更改时间戳 nnoremap