Apakah vimrc dan viminfo file yang sama tetapi dengan nama yang berbeda?

29

Apakah .vimrcdan .viminfofile yang sama tetapi dengan nama yang berbeda?

Di setiap tutorial ada saran untuk diubah .vimrc, tapi saya tidak punya file ini, hanya .viminfo. Apakah mereka sama?

Sergey
sumber

Jawaban:

40

Mereka tidak sama. Vimrc adalah file yang Anda edit untuk mengubah perilaku vim. Ini adalah file konfigurasi.

Vminfo seperti cache, untuk menyimpan buffer yang terpotong secara persisten, dan hal-hal lainnya.

Dari dokumen ( :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.

Dengan kata lain, Vim menulis file ini, bukan Anda.

Berikut ini contohnya (versi modifikasi saya sendiri).

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
Keith
sumber
2
Saya tidak dapat menemukan vimrc, saya mencoba mencari ~ -name * vimrc, hasilnya kosong, haruskah saya membuatnya?
Sergey
8
@Sergey: Secara tradisional, file konfigurasi hanya muncul ketika Anda , pengguna, membuatnya. (Sama sekali tidak masuk akal untuk menyimpan beberapa lusin file rc kosong untuk setiap program yang diinstal.)
grawity
Jika Anda kesulitan memposting sendiri .vimrc, mungkin berguna untuk menunjukkan apa yang dilakukan setiap baris. (Anda sudah mengomentari beberapa di antaranya)
Stewart
6

Jika .vimrc tidak ada, Anda harus membuatnya. Saya sarankan untuk meng-host file konfigurasi di github, dan membuat tautan simbolis ke .vimrc Anda

Sedikit manis
sumber
Saat ini saya mendorong sebagian besar file rc saya ke repo github baik untuk kemudahan menduplikasi konfigurasi saya di mesin dan untuk berbagi cepat dengan rekan kerja. Apa tepatnya yang akan dibantu oleh tautan simbolik?
Qcom
2
@Qcom: Tautan simbolis memungkinkan kita untuk dengan mudah memelihara satu versi kanonik file ~ / .vimrc kita. Versi itu disimpan di git. Kita dapat mengedit file itu, lalu mendorongnya ke repositori kami. Semua mesin lain yang menarik salinan terbaru dari repo kami akan melihat perubahannya. Kalau tidak, kami akan mengedit file, menyalinnya ke repo, dan kemudian mendorongnya. Itu langkah ekstra. Ini juga rentan kesalahan karena kita cenderung "lupa" untuk menyalinnya ke repo.
ccalvert