Не дозволяйте Vim записувати події для певних файлів


12

Щоб додати до цього питання про stackoverflow , що слід поставити в них, .vimrcщоб забезпечити "приватне редагування" певних розширень файлів (наприклад, .gpgфайлів).

Без шкоди для ефективності сеансу не слід зберігати інформацію про виконану роботу, включаючи регістри, історію пошуку, історію команд, перегляди, заміну тощо. Для gpgфайлів можна використовувати цей плагін vim , але крім редагування плагіна, як би можна поширити ці обговорені ідеї на довільні типи файлів?

Ми, мабуть, скористаємося наступними командами,

if <ft in privacy_ext_list>
  set noswapfile
  set noundofile
  set viminfo=
endif 

але окрім відповідної умовної заяви, чого не вистачає?

Далі, чи існує спосіб з Vimscript зробити масив розширень файлів, а потім оцінити, чи є поточний тип файлу в масиві?


6
@Carpetsmoker Я думаю, що це питання ширше. Автор не просто запитує, як встановити параметри в буфері певного типу файлів, але певною мірою, які параметри встановити для забезпечення конфіденційності. Це, очевидно, не очевидно, або зібране разом у центральному місці, тому я думаю, що це гарно запитує.
Ендрю Фер'є

Відповіді:


6

Ось повний список налаштувань, які слід додати до вашого, .vimrcякщо ви хочете запобігти витоку чутливих файлів.

set nobackup
set nowritebackup
set noundofile
set noswapfile
set viminfo=""
set noshelltemp
set history=0
set nomodeline
set secure

Я рекомендую вам створити новий файл конфігурації, який називається .vimrc_secureта запустити Vim за допомогою vim -u ~/.vimrc_secure(або створити сценарій / псевдонім), коли ви хочете відредагувати ваш чутливий файл. Це зведе до мінімуму ризик виникнення зловмисного плагіна або помилки.


Мені це подобається в тому сенсі, який .vimrc_secureне залежить від .vimrc(як це, як ви кажете, потім дозволяє користувачеві :e private file[тим самим зберігати файл і з історії оболонки]), але використання vim -u ~/.vimrc-incognitoне буде джерелом ~/.vimrcвзагалі, правда? Радості конфіденційності не повинні сприйматися зниженим комфортом (якщо тільки комфорт не є принципово хибним через зловмисний плагін або помилку). Хоча слід акцентувати увагу на ризику невідомих, безумовно, повинен бути якийсь спосіб умовно завершити своє рішення ...
HAL 9001

1
Я б не рекомендував використовувати окремий файл vimrc з тієї простої причини, що його так просто забути. Щось подібне до цього autocmd: au BufRead * if &key != "" | setlocal nobackup noundofile ... | endifповинно зробити для вас магію, і забути це неможливо.
Мартін Турноїй

@Carpetsmoker, про що йдеться &l:cm != ""?
Wildcard

1
@Wildcard Ehm .... Подивіться так, як я задумав &cryptmethod, що стосується цієї настройки. l:Частина була помилка (я використовував свої особливі мод повноваження редагувати свій коментар). Дякуємо, що вказали на це!
Мартін Турной

@Carpetsmoker, чи можете ви детальніше розглянути свій коментар? Я створив тут нитку: vi.stackexchange.com/questions/6195/…
Матеуш Піотровський
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.