Это работает для меня (в Ubuntu):
#!/bin/bash
#
# Watches the folder or files passed as arguments to the script and when it
# detects a change it automatically refreshes the current selected Chrome tab or
# window.
#
# Usage:
# ./chrome-refresher.sh /folder/to/watch
TIME_FORMAT='%F %H:%M'
OUTPUT_FORMAT='%T Event(s): %e fired for file: %w. Refreshing.'
while inotifywait --exclude '.+\.swp$' -e modify -q \
-r --timefmt "${TIME_FORMAT}" --format "${OUTPUT_FORMAT}" "$@"; do
xdotool search --onlyvisible --class chromium windowactivate --sync key F5 \
search --onlyvisible --class gnome-terminal windowactivate
done
Вам может потребоваться установить пакеты inotify и xdotool (sudo apt-get install inotify-tools xdotool
в Ubuntu) ичтобы изменить аргументы --class
на фактические имена вашего предпочтительного браузера и терминала.
Запустите скрипт, как описано, и просто откройте index.html в браузере.После каждого сохранения в vim скрипт будет фокусироваться на окне вашего браузера, обновлять его и затем возвращаться в терминал.