2010-05-12 31 views
21

Trong môi trường của mình, tôi chia sẻ cấu hình vim với các nhà phát triển khác (và cũng có thêm các cấu hình của riêng mình) trong các tệp .vimrc khác nhau. Một số nơi trong môi trường, tôi chỉnh sửa một tập tin trong vim và automagically một bản sao của tập tin đó với một hậu tố dấu ngã phía sau xuất hiện. Điều gì tùy chọn vim điều khiển này? Tôi muốn tắt tính năng này, vì nó chỉ làm lộn xộn các thư mục của tôi và phá hỏng tính năng tự động hoàn thành trên dòng lệnh.Làm cách nào để tắt tự động lưu tệp vim với hậu tố ~

Cảm ơn.

+0

Có thể trùng lặp [Tại sao Vim lưu tệp bằng ~ đuôi mở rộng?] (Http://stackoverflow.com/questions/607435/why-does-vim-save-files-with-a-extension) –

Trả lời

18

Có vẻ như bạn đang tìm kiếm các lựa chọn nobackup:

:set nobackup 

sao lưu không được bật theo mặc định, vì vậy bạn đã có thể có một tập tin cấu hình ở đâu đó đó là biến chúng trên.

+2

Có vẻ như được bật theo mặc định trên Windows. –

39

Nếu bạn chỉ muốn tắt hoàn toàn các bản sao lưu, đề xuất :set nobackup từ @GregHewgill là cách để thực hiện.

Tuy nhiên, tôi đã được lưu bởi các bản sao lưu của Vim thường đủ để tôi muốn giới thiệu phương án thay thế. Tôi có các cài đặt này trong .vimrc:

set backupdir-=. 
set backupdir^=~/tmp,/tmp 

Dòng đầu tiên xóa thư mục hiện tại khỏi danh sách thư mục dự phòng (để giữ ~ sao lưu khỏi thư mục làm việc). Thứ hai nói với Vim để cố gắng lưu các bản sao lưu vào ~/tmp, hoặc đến /tmp nếu điều đó là không thể. (Các đường dẫn có thể được điều chỉnh cho môi trường cụ thể của bạn; ví dụ: tôi sử dụng set backupdir^=$TEMP trên Windows.)

Nói cách khác, điều này sẽ đặt các tệp sao lưu ra khỏi tầm nhìn (và không theo cách của bạn) nhưng không bật chúng hoàn toàn tắt.

+1

Cả điều này, cũng như đề xuất của Greg Hewgill không hoạt động. Tôi tự hỏi nếu có một .vimrc được thực hiện SAU của tôi .vimrc. Có cách nào để nói mà .vimrc's đã được sử dụng từ bên trong một phiên vim cụ thể? – Leonard

+0

Kiểm tra: giúp khởi động để có giải thích dài về những tập tin vim đọc khi nó bắt đầu. – speshak

1

Trên cửa sổ, tôi đã có set nobackup trong C: \ Users \ my-user-name \ _vimrc; nhưng điều đó dường như không hoạt động. Sau đó tôi đã thêm set nobackup vào tệp C: \ Program Files (x86) \ Vim \ _vimrc. Vẫn không hoạt động!

sau I figured rằng C: \ Program Files (x86) \ Vim \ _vimrc tải một kịch bản mẫu vimrc từ $ VIMRUNTIME/vimrc_example.vim và kịch bản có đoạn này:

if has("vms") 
    set nobackup  " do not keep a backup file, use versions instead 
else 
    set backup  " keep a backup file (restore to previous version) 
    if has('persistent_undo') 
    set undofile " keep an undo file (undo changes after closing) 
    endif 
endif 

Bình luận mà ra làm việc cho tôi! Vì vậy, nó thực sự đi xuống để tìm ra thứ tự mà trong đó các kịch bản này đang được thực hiện, do đó trọng bất cứ điều gì bạn có thể đã làm.

Các vấn đề liên quan