Я хочу мати можливість легко запустити 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
. Якщо параметр не порожній, то автокоманда встановлює різні параметри.