在.vimrc中,如何编辑、保存和退出文件,然后运行shell命令?

在.vimrc中,如何编辑、保存和退出文件,然后运行shell命令?,vim,vi,Vim,Vi,每当我编辑具有特定扩展名的文件时,是否可以在编辑、保存和退出文件后立即在shell提示符下自动运行shell命令 在我的.vimrc中,我有以下内容(感谢某人将此作为对其他人问题的回答发布): 当我在vi会话中对文件进行chmod时,我希望在退出vi会话后立即自动运行.py文件,例如: # vi test.py # ./test.py 提前感谢您的建议 生活学习者 我不会在Vim中这样做,而是通过编写一个简短的shell脚本包装,例如vimrun: #!/bin/sh if [ $# -e

每当我编辑具有特定扩展名的文件时,是否可以在编辑、保存和退出文件后立即在shell提示符下自动运行shell命令

在我的.vimrc中,我有以下内容(感谢某人将此作为对其他人问题的回答发布):

当我在vi会话中对文件进行chmod时,我希望在退出vi会话后立即自动运行.py文件,例如:

# vi test.py
# ./test.py
提前感谢您的建议

  • 生活学习者

    • 我不会在Vim中这样做,而是通过编写一个简短的shell脚本包装,例如
      vimrun

      #!/bin/sh
      
      if [ $# -eq 0 ]; then
          echo >&2 "ERROR: No file passed!"
          exit 1
      fi
      
      vim "$1" && \
          if [ -x "$1" ]; then
              PATH=".:$PATH"
              exec "$1"
          fi
      

      在默认的
      bash
      中,如果点击
      CTRL-x
      ,然后点击
      CTRL-e
      ,就会打开一个临时文件的
      $EDITOR
      。在该文件中键入任何内容并保存,然后退出。Bash将运行您在该文件中键入的所有内容。

      通常,您可以按
      编辑和执行命令
      Readline函数绑定的任何键序列。这就是您刚才删除的问题的答案:
      myhash1.select{k,v | k.to_.strip.empty}.values#=>[“no value”,“empty”
      。我将很快删除此邮件。非常感谢。那正是我要找的!
      #!/bin/sh
      
      if [ $# -eq 0 ]; then
          echo >&2 "ERROR: No file passed!"
          exit 1
      fi
      
      vim "$1" && \
          if [ -x "$1" ]; then
              PATH=".:$PATH"
              exec "$1"
          fi