bash脚本"忽略".vimrc

Lev*_*Lev 0 vim bash autocmd

我有一个问题如下:

我有一个脚本从远程机器复制日志文件,对它进行一些修改然后在vim中打开它,问题是vim不能自动识别文件类型(在脚本ID之外) - 我需要这个着色日志.

脚本如下:

/usr/bin/rcp 14.1.61.10$node:/output/LocalLog_IPNode$node.log /export/home/fpd/tmp/tmp_local_log

chmod 777 /export/home/fpd/tmp/tmp_local_log/*

sed -i 's/[A-Z]\{4,8\}.*[oigus][kbdct][sel]\//---/g' /export/home/fpd/tmp/tmp_local_log/LocalLog_IPNode$node.log
vi  /export/home/fpd/tmp/tmp_local_log/LocalLog_IPNode$node.log
Run Code Online (Sandbox Code Playgroud)

我的.vimrc:

au BufNewFile,BufReadPost LocalLog* set filetype=local_log
Run Code Online (Sandbox Code Playgroud)

请注意,文件在vim中打开(如果它有助于手动命令":set syntax=local_log"也不起作用).

退出脚本并手动打开日志后一切正常=(

Xav*_* T. 5

您的问题是该autocommand选项仅在vim中可用,而不是vi.

因此,如果您的系统上有此功能,则应通过以下命令替换最后一个命令行:

 vim  /export/home/fpd/tmp/tmp_local_log/LocalLog_IPNode$node.log
Run Code Online (Sandbox Code Playgroud)

Vim代表"Vi Improved",许多选项仅适用于后者.

确保你能做到:

:help autocommand
Run Code Online (Sandbox Code Playgroud)

如果该功能与vi或vim兼容,则始终会提及.