Ich möchte Vim ganz einfach in einem privaten Modus starten können. Definieren wir einen privaten Modus als einen, der diesen Befehlssatz verwendet:
set history=0
set nobackup
set nomodeline
set noshelltemp
set noswapfile
set noundofile
set nowritebackup
set secure
set viminfo=""
Lassen Sie mich wissen, ob Sie zusätzliche Befehle finden, die für den privaten Modus geeignet sind.
Der Punkt ist, dass ich mir keine kurze und einfache Möglichkeit vorstellen kann, Vim mit diesem Setup zu starten.
Hier sind einige Ideen, die ich mir ausgedacht habe:
Laden Sie .vimrcprivate anstelle von .vimrc
Sie können einfach alle erforderlichen Befehle in .vimrcprivate einfügen und Vim folgendermaßen starten:
vim -u .vimrcprivate
Eine
Private()
Funktion definieren und aufrufenEine andere Idee ist, Ihrem .vimrc einen Code wie diesen hinzuzufügen:
function Private() " set of commands here endfunction
und dann können Sie Vim in einem privaten Modus wie folgt starten:
vim -c 'call Private()'
Verwenden Sie eine Variable, um die Einrichtung Ihrer Befehle auszulösen
Es ist der zweiten Lösung ziemlich ähnlich. Einfach hinzufügen
if exists('privatemode') " set of commands here endif
auf deine .vimrc und starte dann Vim mit
vim -c 'let privatemode=1'
Das ist weder schlau noch kurz.
Fügen Sie Ihrer .bashrc-Datei (oder jeder anderen. * Rc-Datei, die Ihre Shell verwendet) einen Alias hinzu.
Beispielsweise:
alias vimprivate="vim +\"set history=0\" +\"set nobackup\" +\"set nomodeline\"\ +\"set noshelltemp\" +\"set noswapfile\" +\"set noundofile\"\ +\"set nowritebackup\" +\"set secure\" +\"set viminfo=\"\"\""
Das ist schrecklich. Es gefällt mir nicht
Verwenden Sie eine Umgebungsvariable
Einfach ausführen
VIM_PRIVATE=1 vim
und hinzufügenif $VIM_PRIVATE " set of commands here endif
zu Ihrer .vimrc.
Etwas Magie (aus einem Kommentar von Carpetsmoker in diesem Thread )
Carpetsmoker sagt in diesem Kommentar, dass
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 &cryptmethod != "" | setlocal nobackup noundofile ... | endif
die Magie für Sie tun, und es ist unmöglich zu vergessen.Allerdings habe ich keine Ahnung, wie diese Magie funktioniert noch .
Hast du eine Idee?
Die perfekte Lösung wäre vim -private
oder vim +Private
aber:
- Ich bin mir ziemlich sicher, dass Sie keine benutzerdefinierten Befehlszeilenoptionen wie hinzufügen können
-private
. - Wenn es darum geht, konnte
+Private
ich es nicht online finden.
vim -Nu .vimrcprivate
.
alias vimprivate='vim -u .vimrcprivate'
etc.
v:progname == "vimp"
Ihre Einstellungen für den privaten Modus zu testen und, wenn dies wahr ist, auszuführen. Sehen :help v:progname
.
command! Private set history=0 nobackup secure ...
und ihn dann über die Shell mit aufrufenvim +'Private'
. In Bezug auf den letzten von Ihnen erwähnten Autobefehl wird beim Lesen eines Puffers geprüft, ob der Wert der'cryptmethod'
Option oder'cm'
für die Kurzversion nicht leer ist. Diese Option steuert die Verschlüsselungsmethode, mit der der Puffer verschlüsselt wird, wenn er mit dem Befehl Ex in eine Datei geschrieben wird:X
. Wenn die Option nicht leer ist, richtet der Autobefehl verschiedene Optionen ein.