赞
踩
- 使用
autocmd
自动命令- 配置
autocommand-events
参数,可以使用:help autocommand-events
来查看具体使用events使用方法
本文使用 autocmd BufWritePost
来实现为 Shell 文件自动添加执行权限
autocmd BufWritePost * if getline(1) =~ "^#!" | if getline(1) =~ "/bin/" | silent !chmod u+x <afile> | endif | endif
- 该方法的实现是读取文件第一行,以
#!
开头,执行chmod
操作- 正常
Shell
脚本文件第一行#! /bin/bash
,指定了Shell
脚本解释器的路径,只能放在文件的第一行。其中#
表示该行是注释,叹号!
告诉shell运行叹号之后的命令并用文件的其余部分作为输入,也就是运行/bin/bash
并让/bin/bash
去执行SHELL程序的内容。- 第一行写错后者不写时,系统会又一个默认的SHELL解释器进行解释。默认SHELL可以使用
echo $SHELL
查看
if
语句拆成多行autocmd BufWritePost *
\ if getline(1) =~ "^#!" |
\ if getline(1) =~ "/bin/" |
\ silent !chmod u+x <afile> |
\ endif |
\ endif
autocmd BufWritePost *.sh :!chmod u+x <afile>
:
for command mode!
to run a shell command
autocmd BufWritePost *.sh exec "!chmod u+x <afile>"
以上四种方法任选一种将其内容加载到 .vimrc
文件中即可
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。