-- Leo's gemini proxy
-- Connecting to gmi.osiux.com:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini;lang=es_AR
AUTHOR: Osiris Alejandro Gomez
EMAIL: osiux@osiux.com
DATE: 2023-03-31 11:10
[1]
Si bien tengo la autodisciplina de realizar *commits* atómicos de cada cambio que realizo en un proyecto, en algunos momentos puedo pasar horas sin realizar ni un solo *commit*, con el riesgo de sobreescribir y/o perder algo importante.
Se puede configurar el autoguardado de cualquier archivo que edites con `vim` manteniendo una copia con un *timestamp* y de esta manera conservar varias versiones del mismo archivo cada vez que sufrió un cambio. Para esto basta definir las siguientes opciones en `~/.vimrc`
set backupdir=~/tmp,/tmp set directory=~/tmp,/tmp set backup set writebackup set backupcopy=yes au BufWritePre * let &bex = '@' . strftime("%F.%H:%M") autocmd TextChanged,TextChangedI <buffer> silent write
De esta manera ahora cada vez que modifique `archivo.md`, `vim` se ocupará de generar una copia en `~/tmp` agregando fecha, hora y minuto dejando la copia en `~/tmp/archivo.md@2023-03-31.11:20`
Ayer estuve generando la charla `ansible-tools.tape` y en ningún momento versioné, y hoy al corregirla, perdí algunas líneas sin querer queriendo, no hay problema, obtengo un listado de las últimas modificaciones usando:
ls -lht ~/tmp/ansible-tools.tape* | head -3 .rw-rw-r-- osiris osiris 3.0 KB Fri Mar 31 10:23:43 2023 /home/osiris/tmp/ansible-tools.tape@2023-03-31.10:20 .rw-rw-r-- osiris osiris 3.7 KB Fri Mar 31 10:20:24 2023 /home/osiris/tmp/ansible-tools.tape~ .rw-rw-r-- osiris osiris 6.6 KB Thu Mar 30 14:59:29 2023 /home/osiris/tmp/ansible-tools.tape@2023-03-30.14:59
Haciendo un `diff` rápidamente veo qué perdi
delta ~/tmp/ansible-tools.tape@2023-03-31.10:20 ansible-tools.tape ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ home/osiris/tmp/ansible-tools.tape@2023-03-31.10:20 ⟶ ansible-tools.tape ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ───────────────────────────────────────────────────────────────────────────┐ ansible-tools.tape:155: Type " grep -E '(name|version):' requirements.yml" │ ───────────────────────────────────────────────────────────────────────────┘ │ 155│Sleep 5s │ 155│Sleep 5s │ 156│Enter │ 156│Enter │ 157│Sleep 8s │ 157│Sleep 8s │ 158│ │ │ │ 159│Type "# Working with AWX via JSONs" │ │ │ 160│Sleep 5s │ │ │ 161│Enter │ │ │ 162│Type " cd ~/awx" │ │ │ 163│Sleep 5s │ │ │ 164│Enter │ │ │ 165│ │ │ │ 166│Hide │ │ │ 167│Type " rm -f project/ansible_generic_v0.1.1.json" │ │ │ 168│Enter │ │ │ 169│Show │ │
Basta copiar el último *backup* y asi restaurar el archivo que estaba escribiendo para recuperar y no perder nada:
cp ~/tmp/ansible-tools.tape@2023-03-31.10:20 ansible-tools.tape
cómo escribir rápidamente mensajes de commit de git usando vim[2]
Realizar un *profile* en `vim` y deshabilitar `Foldexpr_markdown`[3]
Ejecutar un Shell dentro de Vim[4]
`2023-06-12 22:45`[5] agregar *vim autosave backup*
-- Response ended
-- Page fetched on Thu May 2 13:11:12 2024