我有一个问题如下:
我有一个脚本从远程机器复制日志文件,对它进行一些修改然后在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"
也不起作用).
退出脚本并手动打开日志后一切正常=(
您的问题是该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兼容,则始终会提及.