#+LINK_HOME: index.html
#+INCLUDE: header.org
amo el orden pero soy un caos! #
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.
autosave
al rescate #
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
recuperando cambios perdidos #
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
Tal vez te interese leer #
- cómo escribir rápidamente mensajes de commit de git usando vim
- Realizar un profile en
vim
y deshabilitarFoldexpr_markdown
- Ejecutar un Shell dentro de Vim
ChangeLog #
2023-06-12 22:45
agregar vim autosave backup