Я хочу иметь возможность легко запускать 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
. Если опция не пустая, то автокоманда устанавливает различные опции.