Я хочу мати можливість легко запустити Vim в приватному режимі. Давайте визначимо приватний режим як той, який використовує цей набір команд:
set history=0
set nobackup
set nomodeline
set noshelltemp
set noswapfile
set noundofile
set nowritebackup
set secure
set viminfo=""
Повідомте мене, чи можете ви придумати будь-які додаткові команди, придатні для приватного режиму.
Справа в тому, що я не можу придумати жодного короткого і простого способу запустити Vim із цим налаштуванням.
Ось декілька ідей, які я придумав:
Завантажте .vimrcprivate замість .vimrc
Ви можете просто ввести всі необхідні команди у .vimrcprivate та запустити Vim так:
vim -u .vimrcprivateВизначте і викличте
Private()функціюЩе одна ідея додати такий код у свій .vimrc:
function Private() " set of commands here endfunctionі тоді ви зможете запустити Vim в приватному режимі так:
vim -c 'call Private()'Використовуйте змінну, щоб запустити налаштування ваших команд
Він досить схожий на друге рішення. Просто додайте
if exists('privatemode') " set of commands here endifдо вашого .vimrc, а потім почніть використовувати Vim
vim -c 'let privatemode=1'що не є ні розумним, ні коротким.
Додайте псевдонім у свій .bashrc (або будь-який інший файл. * Rc, який використовує ваша оболонка)
Наприклад:
alias vimprivate="vim +\"set history=0\" +\"set nobackup\" +\"set nomodeline\"\ +\"set noshelltemp\" +\"set noswapfile\" +\"set noundofile\"\ +\"set nowritebackup\" +\"set secure\" +\"set viminfo=\"\"\""що жахливо Мені це не подобається.
Використовуйте змінну середовища
Просто запустіть
VIM_PRIVATE=1 vimі додайтеif $VIM_PRIVATE " set of commands here endifдо вашого .vimrc.
Якась магія (з коментаря Carpetsmoker у цій темі )
Carpetsmoker говорить у цьому коментарі, що
Я б не рекомендував використовувати окремий файл vimrc з тієї простої причини> що його так легко забути. Щось подібне до цього autocmd:
au BufRead * if &cryptmethod != "" | setlocal nobackup noundofile ... | endifповинно зробити для вас магію, і забути це неможливо.Однак у мене немає ні найменшого уявлення про те , як ця магія працює ще .
У вас є ідеї?
Ідеальним рішенням буде vim -privateчи vim +Privateвсе-таки:
- Я впевнений, що ви не можете додати власні параметри командного рядка, як-от
-private. - коли мова йде про
+Privateмене, я не зміг знайти його в Інтернеті.
vim -Nu .vimrcprivate.
alias vimprivate='vim -u .vimrcprivate'і т. д.
v:progname == "vimp"і, якщо це правда, виконати налаштування приватного режиму. Див :help v:progname.
command! Private set history=0 nobackup secure ..., а потім викликати її з оболонки за допомогоюvim +'Private'. Стосовно останнього згаданого автокоманди, коли буфер читається, він перевіряє, чи значення'cryptmethod'параметра або'cm'для короткої версії не порожнє. Цей параметр керує методом шифрування, який використовується для шифрування буфера, коли він записується у файл із командою Ex:X. Якщо параметр не порожній, то автокоманда встановлює різні параметри.