Chcę móc łatwo uruchomić Vima w trybie prywatnym. Zdefiniujmy tryb prywatny jako taki, który wykorzystuje ten zestaw poleceń:
set history=0
set nobackup
set nomodeline
set noshelltemp
set noswapfile
set noundofile
set nowritebackup
set secure
set viminfo=""
Daj mi znać, jeśli możesz wymyślić jakieś dodatkowe polecenia odpowiednie dla trybu prywatnego.
Chodzi o to, że nie mogę wymyślić żadnego krótkiego i łatwego sposobu na rozpoczęcie Vima z tą konfiguracją.
Oto kilka pomysłów, które wpadłem na pomysł:
Załaduj .vimrcprivate zamiast .vimrc
Możesz po prostu umieścić wszystkie niezbędne polecenia w .vimrcprivate i uruchomić Vima w następujący sposób:
vim -u .vimrcprivateZdefiniuj i wywołaj
Private()funkcjęKolejny pomysł dodaj taki kod do swojego .vimrc:
function Private() " set of commands here endfunctioni wtedy możesz uruchomić Vima w trybie prywatnym, takim jak ten:
vim -c 'call Private()'Użyj zmiennej, aby uruchomić konfigurację swoich poleceń
Jest dość podobny do drugiego rozwiązania. Poprostu dodaj
if exists('privatemode') " set of commands here endifdo twojego .vimrc, a następnie uruchom Vima używając
vim -c 'let privatemode=1'który nie jest ani mądry, ani krótki.
Dodaj alias do pliku .bashrc (lub dowolnego innego pliku. * Rc używanego przez powłokę)
Na przykład:
alias vimprivate="vim +\"set history=0\" +\"set nobackup\" +\"set nomodeline\"\ +\"set noshelltemp\" +\"set noswapfile\" +\"set noundofile\"\ +\"set nowritebackup\" +\"set secure\" +\"set viminfo=\"\"\""co jest okropne. Nie podoba mi się
Użyj zmiennej środowiskowej
Po prostu uruchom
VIM_PRIVATE=1 vimi dodajif $VIM_PRIVATE " set of commands here endifdo twojego .vimrc.
Trochę magii (z komentarza Carpetsmoker w tym wątku )
Carpetsmoker mówi w tym komentarzu, że
Nie polecałbym używania osobnego pliku vimrc, z prostego powodu, że tak łatwo go zapomnieć. Coś takiego jak ten autocmd:
au BufRead * if &cryptmethod != "" | setlocal nobackup noundofile ... | endifpowinien zrobić dla ciebie magię i nie można tego zapomnieć.Jednak nie mam pojęcia jak to działa magia jeszcze .
Masz jakiś pomysł?
Rozwiązaniem idealnym byłoby vim -privatealbo vim +Privatejednakże:
- Jestem pewien, że nie możesz dodać własnych niestandardowych opcji wiersza poleceń, takich jak
-private. - jeśli chodzi o
+Privateto, nie mogłem go znaleźć w Internecie.
vim -Nu .vimrcprivate.
alias vimprivate='vim -u .vimrcprivate'itd.
v:progname == "vimp"i, jeśli to prawda, wykonanie ustawień trybu prywatnego. Zobaczyć :help v:progname.
command! Private set history=0 nobackup secure ...a następnie wywołać je z powłoki za pomocąvim +'Private'. Jeśli chodzi o ostatnią komendę, o której wspomniałeś, podczas odczytywania bufora sprawdza się, czy wartość'cryptmethod'opcji, czy'cm'w przypadku krótkiej wersji, nie jest pusta. Ta opcja kontroluje metodę szyfrowania używaną do szyfrowania bufora, gdy jest on zapisywany do pliku za pomocą polecenia Ex:X. Jeśli opcja nie jest pusta, wówczas automatyczne polecenie konfiguruje różne opcje.