Vim이 특정 파일 형식에 대한 이벤트를 기록하지 못하도록 방지


12

stackoverflow question에 추가하려면 .vimrc특정 파일 확장자 (예 : .gpg파일) 의 '개인 편집'을 보장하기 위해 무엇을 넣어야합니까 ?

세션의 효과를 손상시키지 않으면 서 레지스터, 검색 히스토리, 명령 히스토리, 뷰, 스왑 등을 포함하여 수행 된 작업에 대한 정보를 저장하지 않아야합니다. gpg파일의 경우이 vim 플러그인을 사용할 수 있지만 플러그인 편집 외에는 어떻게 해야합니까? 이러한 논의 된 아이디어를 임의의 파일 형식으로 확장합니까?

아마도 다음 명령을 사용할 것입니다.

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

그러나 적절한 조건문 외에 무엇이 빠졌습니까?

또한 Vimscript를 사용하여 파일 확장자 배열을 만든 다음 현재 파일 형식이 배열 내에 있는지 평가하는 방법이 있습니까?


6
@ Carpetsmoker이 질문이 더 넓다고 생각합니다. 저자는 특정 파일 형식의 버퍼에 매개 변수를 설정하는 방법을 묻는 것이 아니라, 어느 정도 어떻게 개인 정보를 보호하기 위해 세트 매개 변수. 그것은 분명하지 않거나 중앙 장소에서 함께 모이기 때문에 좋은 질문이라고 생각합니다.
Andrew Ferrier 8

답변:


6

.vimrc민감한 파일의 유출을 막으려면 여기에 추가해야 할 전체 설정 목록이 있습니다.

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

민감한 파일을 편집하려면 새 구성 파일을 생성하고 .vimrc_secureVim을 실행 vim -u ~/.vimrc_secure(또는 스크립트 / 별칭 생성)하는 것이 좋습니다 . 이는 악성 플러그인 또는 버그가있는 기능의 위험을 최소화합니다.


나는 (당신이 말한 것처럼 ( 따라서 사용자가 파일을 쉘 기록에서 제외 시킬 수 있도록 허용합니다 .vimrc_secure)) 독립적 인 의미에서 이것을 좋아 하지만 소스 를 전혀 사용 하지 않을 것 입니까? 개인 정보 보호의 즐거움은 편의성이 떨어지지 않아야합니다 (편의성이 기본적으로 악의적 인 플러그인 또는 버그가있는 기능에 결함이있는 경우가 아니라면). 미지의 위험에 중점을 두어야하지만, 솔루션을 조건부로 감싸는 방법이 있어야합니다..vimrc:e private filevim -u ~/.vimrc-incognito~/.vimrc
HAL 9001

1
별도의 vimrc 파일을 사용하지 않는 것이 좋습니다. 간단한 이유로 잊어 버리기가 쉽습니다. 이 autocmd와 같은 것 : au BufRead * if &key != "" | setlocal nobackup noundofile ... | endif당신을 위해 마술을해야하며 잊을 수 없습니다.
Martin Tournoij

@ 카펫 스모커, 무슨 일이야 &l:cm != ""?
와일드 카드

1
@Wildcard Ehm .... 의도 한 것처럼 보이며 &cryptmethod, 이는 해당 설정을 나타냅니다. 그 l:부분은 실수였습니다 (내 의견을 편집하기 위해 특수 모드를 사용했습니다). 지적 해 주셔서 감사합니다!
Martin Tournoij

@Carpetsmoker, 귀하의 의견에 대해 자세히 설명해 주시겠습니까? 여기 스레드를 만들었습니다 : vi.stackexchange.com/questions/6195/…
Mateusz Piotrowski
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.