Là vimrc và viminfo cùng một tệp nhưng có tên khác nhau?


29

.vimrc.viminfocùng một tập tin nhưng với tên khác nhau?

Trong mọi hướng dẫn đều có lời khuyên để thay đổi .vimrc, nhưng tôi không có tệp này .viminfo. Họ có giống nhau không?

Câu trả lời:


40

Chúng không giống nhau. Vimrc là tệp bạn chỉnh sửa để thay đổi hành vi của vim. Đây là một tập tin cấu hình.

Viminfo giống như một bộ đệm, để lưu trữ bộ đệm cắt liên tục và những thứ khác.

Từ các tài liệu ( :help viminfo):

The viminfo file is used to store:
- The command line history.
- The search string history.
- The input-line history.
- Contents of non-empty registers.
- Marks for several files.
- File marks, pointing to locations in files.
- Last search/substitute pattern (for 'n' and '&').
- The buffer list.
- Global variables.

Nói cách khác, Vim viết tập tin này, không phải bạn.

Đây là một ví dụ (phiên bản sửa đổi của riêng tôi).

if has("python")
    python import sys
    python import os
    python import vim
    python sys.argv = [vim.eval("v:progname")] 
endif

set nocompatible            " Use Vim defaults (much better!)
set bs=2                    " allow backspacing over everything in insert mode
set nobackup                " Don't keep a backup file
set viminfo='20,\"90,h,%    " read/write a .viminfo file
set history=500
set statusline=%<%f%m%r%y%=%b\ 0x%B\ \ %l,%c%V\ %P
set laststatus=2            " always a status line

set dir=~/.vim/tmp//        " Put all swap files in common location (out of workspace and NFS volumes)
" set undodir=~/.vim/tmp/undo//
" set undofile
set hidden                  " allow editing in multiple buffers

set incsearch
set ignorecase
set smartcase

set scrolloff=3

" GUI options that need to be set here first
" Remove exta, useless button bar.
set guioptions-=T
set guioptions+=t

set encoding=utf-8

" Don't use Ex mode, use Q for formatting
map Q gq

" Switch syntax highlighting on, when the terminal has colors
" Also switch on highlighting the last used search pattern.
if &t_Co > 2 || has("gui_running")
  syntax enable
  set hlsearch
  " colorscheme mycolors
endif

filetype plugin on
filetype indent on

augroup cprog
  " Remove all cprog autocommands
  au!

  " When starting to edit a file:
  "   For C and C++ files set formatting of comments and set C-indenting on.
  "   For other files switch it off.
  "   Don't change the order, it's important that the line with * comes first.
  autocmd FileType *      set formatoptions=tcql nocindent comments&
  autocmd FileType c,cpp  set formatoptions=croql cindent comments=sr:/*,mb:*,el:*/,://
augroup END

augroup newfile 
  au!
  autocmd BufNewFile            *.html  0r      ~/Templates/HTML4.html
  autocmd BufNewFile            *.xhtml 0r      ~/Templates/XHTML.xhtml
  autocmd BufNewFile            *.c     0r      ~/Templates/C.c
  autocmd BufNewFile            *.py    0r      ~/Templates/Python.py
  autocmd BufNewFile            *.js    0r      ~/Templates/Javascript.js
  autocmd BufNewFile            *.txt   0r      ~/Templates/RST.rst
  autocmd BufNewFile            *.rst   0r      ~/Templates/RST.rst
augroup END

2
Tôi không thể tìm thấy vimrc sau đó, tôi đang cố gắng tìm ~ -name * vimrc, kết quả là trống, tôi có nên tạo nó không?
Serge

8
@Sergey: Theo truyền thống, các tệp cấu hình chỉ xuất hiện khi bạn , người dùng, tạo chúng. (Hoàn toàn không có ý nghĩa gì khi giữ một vài chục tệp RC trống cho mỗi chương trình được cài đặt.)
grawity

Nếu bạn gặp rắc rối với việc đăng bài của riêng mình .vimrc, có thể hữu ích để cho biết mỗi dòng làm gì. (Bạn đã nhận xét một số trong số họ)
Stewart

6

Nếu .vimrc không tồn tại, bạn nên tạo nó. Tôi khuyên bạn nên lưu trữ tệp cấu hình trong github và tạo liên kết tượng trưng đến .vimrc của bạn


Tôi hiện đang đẩy hầu hết các tệp RC của mình sang repo github để dễ sao chép cấu hình của mình trên các máy và để chia sẻ nhanh với đồng nghiệp. Liên kết tượng trưng sẽ giúp gì với chính xác?
Qcom

2
@Qcom: Liên kết tượng trưng cho phép chúng tôi dễ dàng duy trì một phiên bản chính tắc của tệp ~ / .vimrc. Phiên bản đó được lưu trữ trong git. Chúng tôi có thể chỉnh sửa tập tin đó, sau đó đẩy nó vào kho lưu trữ của chúng tôi. Tất cả các máy khác kéo bản sao gần đây nhất của repo của chúng tôi sẽ thấy sự thay đổi. Nếu không, chúng tôi sẽ chỉnh sửa tệp, sao chép nó vào repo và sau đó đẩy nó. Đó là một bước thêm. Nó cũng dễ bị lỗi vì chúng tôi có khả năng "quên" sao chép nó vào repo.
ccalvert
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.