ป้องกัน Vim จากการบันทึกเหตุการณ์สำหรับไฟล์บางชนิด


12

หากต้องการเพิ่มคำถามสแต็คโฟลว์โฟล์วสิ่งใดที่ควรใส่.vimrcเพื่อให้แน่ใจว่า 'การแก้ไขส่วนตัว' ของนามสกุลไฟล์บางไฟล์ (เช่น.gpgไฟล์)

ไม่ควรบันทึกข้อมูลเกี่ยวกับงานที่ทำเสร็จรวมถึงการลงทะเบียนประวัติการค้นหาประวัติคำสั่งการดูการสลับ ฯลฯ สำหรับgpgไฟล์ผู้ใช้สามารถใช้vim pluginนี้ได้ แต่นอกเหนือจากการแก้ไขปลั๊กอิน มีการขยายแนวคิดที่กล่าวถึงเหล่านี้ไปยังประเภทไฟล์ใด ๆ

เราอาจใช้ประโยชน์จากคำสั่งต่อไปนี้

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

แต่นอกจากคำแถลงเงื่อนไขที่เหมาะสมแล้วมีอะไรหายไปบ้าง

นอกจากนี้ Vimscript ยังมีวิธีสร้างอาเรย์ของไฟล์นามสกุลแล้วประเมินว่าไฟล์ประเภทปัจจุบันนั้นอยู่ในอาเรย์หรือไม่?


6
@Carpetsmoker ฉันคิดว่าคำถามนี้กว้างขึ้น ผู้เขียนไม่เพียงแค่ถามถึงวิธีการตั้งค่าพารามิเตอร์ในบัฟเฟอร์ของชนิดไฟล์เฉพาะ แต่ในระดับหนึ่งสิ่งที่พารามิเตอร์ที่จะตั้งค่าเพื่อความเป็นส่วนตัว แน่นอนว่าไม่ชัดเจนหรือรวบรวมกันในที่ใจกลางดังนั้นฉันคิดว่ามันเป็นคำถามที่ดี
Andrew Ferrier

คำตอบ:


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ที่มาทั้งหมดถูกต้องหรือไม่ ความสุขของความเป็นส่วนตัวไม่ควรมาด้วยค่าใช้จ่ายของความสะดวกสบายที่ลดลง (เว้นแต่ความสะดวกสบายจะมีข้อบกพร่องพื้นฐานผ่านทางปลั๊กอินที่เป็นอันตรายหรือคุณลักษณะบั๊กกี้) ในขณะที่ควรมีการเน้นความเสี่ยงของ unknowns แน่นอนต้องมีวิธีห่อเงื่อนไขของคุณ ...
HAL 9001

1
ฉันจะไม่แนะนำให้ใช้ไฟล์ vimrc แยกต่างหากด้วยเหตุผลง่าย ๆ ที่จะลืมได้ง่าย บางอย่างเช่น autocmd นี้: au BufRead * if &key != "" | setlocal nobackup noundofile ... | endifควรทำเวทมนตร์ให้คุณและมันเป็นไปไม่ได้ที่จะลืม
Martin Tournoij

@Carpetsmoker สิ่งที่&l:cm != ""เกี่ยวกับ?
Wildcard

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.