Я пытаюсь записать время, которое я трачу на работу в vim.У меня есть скрипт, который работает с gvim, но когда я пытаюсь настроить его с помощью vim, он блокирует сеанс терминала молча или с сообщением «Vim: Предупреждение: вывод не на терминал»
Здесьскрипт, который работает с gvim:
#!/bin/sh
workfile="/home/na/writing/fiction.txt"
worklog="/home/na/writing/worktime.log"
d=`date --rfc-3339 date`
t=$( { /usr/bin/time -f "%e" /usr/local/bin/gvim -f -S /home/na/.vim/writeroom/writeroom.vim $workfile; } 2>&1 )
w=`wc -w $workfile`
echo $d $t $w >> $worklog
Когда я закрываю окно gvim, я получаю лог-файл, содержащий дату, количество секунд, потраченных на редактирование файла, и количество слов для файла.
2011-08-15 700.15 238869 /home/na/writing/fiction.txt
Я бы хотел использовать vim в терминальной сессии.
Я понимаю, что vim обращается к терминалу напрямую, а не к stdout, но мне не важно, что возвращает vim, мне нужен вывод команды time.
Они не работают:
t=`/usr/bin/time -f "%e" /usr/local/bin/vim -f $workfile`
t=$( { /usr/bin/time -f "%e" /usr/local/bin/vim -f $workfile; } 2>&1 )
t=$( { /usr/bin/time -f "%e" /usr/local/bin/vim -f $workfile; } )
Я подозреваю, что есть какая-то комбинация спинок и парантеза, которая сделает эту работу, но я еще не наткнулся на нее.