Verhindert, dass Vim Ereignisse für bestimmte Dateitypen aufzeichnet

12

Um diese Stapelüberlauf-Frage zu ergänzen , was sollte man in ihre einfügen , .vimrcum die "private Bearbeitung" bestimmter Dateierweiterungen (z .gpg. B. Dateien) sicherzustellen .

Ohne die Effektivität der Sitzung zu beeinträchtigen, sollten keine Informationen über die geleistete Arbeit gespeichert werden, einschließlich Register, Suchverlauf, Befehlsverlauf, Ansichten, Auslagerungen usw. Für gpgDateien kann man dieses vim-Plugin verwenden , aber abgesehen von der Bearbeitung des Plugins, wie würde erweitert man diese diskutierten Ideen auf beliebige Dateitypen?

Wir werden wahrscheinlich die folgenden Befehle verwenden,

if <ft in privacy_ext_list>
  set noswapfile
  set noundofile
  set viminfo=
endif 

Aber was fehlt neben der entsprechenden bedingten Anweisung?

Gibt es eine Möglichkeit, mit Vimscript ein Array von Dateierweiterungen zu erstellen und dann zu bewerten, ob sich der aktuelle Dateityp innerhalb des Arrays befindet?

HAL 9001
quelle
6
@Carpetsmoker Ich denke, diese Frage ist weiter gefasst. Der Autor fragt nicht nur, wie Parameter in einem Puffer eines bestimmten Dateityps festgelegt werden sollen, sondern bis zu einem gewissen Grad, welche Parameter festgelegt werden müssen, um den Datenschutz zu gewährleisten. Das ist sicherlich nicht offensichtlich oder an einem zentralen Ort zusammengefasst, also denke ich, dass es eine gute Frage ist.
Andrew Ferrier

Antworten:

6

Hier ist die vollständige Liste der Einstellungen, die hinzugefügt werden sollten, .vimrcwenn Sie den Verlust vertraulicher Dateien verhindern möchten.

set nobackup
set nowritebackup
set noundofile
set noswapfile
set viminfo=""
set noshelltemp
set history=0
set nomodeline
set secure

Ich empfehle Ihnen, eine neue Konfigurationsdatei mit dem Namen zu erstellen .vimrc_secureund Vim mit vim -u ~/.vimrc_secure(oder einem Skript / Alias) auszuführen, wenn Sie Ihre vertrauliche Datei bearbeiten möchten. Dies minimiert das Risiko eines schädlichen Plugins oder einer fehlerhaften Funktion.

Ben
quelle
Ich mag das in dem Sinne, dass .vimrc_securees unabhängig von dem ist .vimrc(wie es das macht, was Sie sagen, erlaubt es dem Benutzer dann, :e private file[die Datei somit auch aus dem Shell-Verlauf herauszuhalten]), aber mit vim -u ~/.vimrc-incognitowird überhaupt keine Quelle erzeugt ~/.vimrc, richtig? Die Freuden der Privatsphäre sollten nicht auf Kosten des eingeschränkten Komforts gehen (es sei denn, der Komfort ist durch ein böswilliges Plug-in oder eine Buggy-Funktion grundlegend beeinträchtigt). Auch wenn das Risiko von Unbekannten im Vordergrund stehen sollte, muss es doch eine Möglichkeit geben, Ihre Lösung bedingt zu verpacken ...
HAL 9001
1
Ich würde nicht empfehlen, eine separate vimrc-Datei zu verwenden, da dies so leicht zu vergessen ist. So etwas wie dieses AutoCMD: Sollte au BufRead * if &key != "" | setlocal nobackup noundofile ... | endifdie Magie für Sie tun, und es ist unmöglich zu vergessen.
Martin Tournoij
@Carpetsmoker, worum geht es &l:cm != ""?
Wildcard
1
@Wildcard Ehm .... Sieh so aus, als hätte ich das beabsichtigt &cryptmethod, was sich auf diese Einstellung bezieht. Das l:Teil war ein Fehler (ich habe meine speziellen Mod-Fähigkeiten benutzt, um meinen Kommentar zu bearbeiten). Vielen Dank für den Hinweis!
Martin Tournoij
@Carpetsmoker, könnten Sie bitte auf Ihren Kommentar eingehen? Ich habe hier einen Thread erstellt: vi.stackexchange.com/questions/6195/…
Mateusz Piotrowski