Wenn ich eine mit ansible-vault verschlüsselte Datei zum Bearbeiten öffnen möchte, führe ich sie normalerweise einfach aus. Dadurch wird ansible-vault edit <filename>
die Datei in eine temporäre Datei entschlüsselt und zum Bearbeiten geöffnet.
Ich möchte jedoch wissen, wie dies innerhalb von vim erreicht werden kann, z. B. durch Ausführen eines Shell-Befehls unter Verwendung der :! ...command...
Syntax. Ich weiß zum Beispiel, dass ich die Datei entschlüsseln kann, indem ich die verschlüsselte Datei in vim öffne und dann Folgendes ausführe:
:! ansible-vault edit %
Dadurch wird die Datei mit ansible-vault in einem anderen Fenster geöffnet, und Sie müssen eine Taste drücken, um zu vim zurückzukehren.
Ich möchte diese Datei mit vim so öffnen können, dass ich sie zusammen mit anderen regulären Dateien oder Dateien, die mit ansible-vault verschlüsselt sind, bearbeiten kann. Momentan öffne ich dazu mehrere tmux-Fenster, aber das ist eine Art PITA.
quelle
:r! asnsible-vault edit ...
? Das Bearbeiten normaler Dateien innerhalb von vi (m) wäre:e filename
Antworten:
Ich habe dies von innen heraus getan, als ich eine verschlüsselte Tresordatei bearbeitet habe:
:!ansible-vault --vault-password-file=~/.vault_pass decrypt %
Nehmen Sie eine Änderung vor und verschlüsseln Sie die Datei erneut:
:!ansible-vault --vault-password-file=~/.vault_pass encrypt %
Das Tresorkennwort wird in ~ / .vault_pass als Klartext gespeichert
Um nur den Inhalt anzuzeigen und dann zur ursprünglichen verschlüsselten Datei zurückzukehren (mit git als SCM- und fugitive.vim- Plugin), entschlüsseln Sie zuerst und wenn Sie fertig sind:
:Git checkout %
Ich könnte eine Funktion oder Aliase für diese Befehle erstellen, um sie in Zukunft schneller zu machen. Im Moment führe ich eine Befehlsverlaufssuche durch, damit ich nicht jedes Mal das Ganze eingeben muss:
q: /decrypt N enter
quelle