Sto cercando un programma di calendario da riga di comando per Linux già da un po 'di tempo. Ho capito che avrei dovuto usare solo vim. Voglio essere in grado di visualizzare facilmente una settimana di liste di cose da fare. Attualmente utilizzando questo comando:
data=$(unset split; echo -n "-c \""; for i in {6..0}; do if [ $i -ne 6 ] ; then split="vsplit"; else split="e"; fi; echo -n "$split $(date +"%F" -d"last sunday+$i day").txt|"; done; echo "\"") && precmd='-c "split todo.txt" -c "Calendar" -c "wincmd w"' && cmd="vim $precmd $data" && eval $cmd
Esegui questo in un terminale a schermo intero, altrimenti avrai un brutto momento. Richiede questo plug-in del calendario: https://github.com/mattn/calendar-vim Se non si dispone del plug-in del calendario di vim, funzionerà anche questo ma non avrà il calendario:
data=$(unset split; echo -n "-c \""; for i in {6..0}; do if [ $i -ne 6 ] ; then split="vsplit"; else split="e"; fi; echo -n "$split $(date +"%F" -d"last sunday+$i day").txt|"; done; echo "\"") && precmd='-c "split todo.txt"' && cmd="vim $precmd $data" && eval $cmd
Questo fa esattamente quello che voglio, tranne per il fatto che il riquadro inferiore non carica il mio todo.txt a rotazione. Se solo potessi ottenere quel riquadro inferiore per caricare il mio todo.txt, sarei pronto! Non riesco a capire perché Vim non accetterà il mio:
-c "split todo.txt"
Sentiti libero di correggere anche il mio orrendo bash.
Inoltre, mi rendo conto che il plug-in del calendario di VIM ha una funzione "diario", ma AFAIK non divide la finestra come richiesto.
Grazie!
Modifica: ecco una versione aggiornata che risolve un problema quando viene eseguita la domenica e consente anche di specificare l'offset della settimana, ad esempio "vimcal 0" "vimcal 1" "vimcal -1" ecc. (Naturalmente è necessario creare uno script e / o alias)
data=$(unset split; unset day; echo -n "-c \""; for i in {6..0}; do if [ $i -ne 6 ] ; then split="vsplit"; else split="split"; fi; if [ `date +"%A"` = "Sunday" ] ; then day="sunday"; else day="last sunday"; fi; echo -n "$split $(date +"%F" -d"$day+$i day+$1 week").txt|"; done; echo "\"") && precmd='-c "edit todo.txt" -c "Calendar" -c "wincmd w"' && cd ~/Documents/todo && cmd="vim $precmd $data" && eval $cmd