Vimrc et viminfo sont-ils les mêmes fichiers mais avec des noms différents?

29

Sont .vimrcet .viminfoles mêmes fichiers mais avec des noms différents?

Dans chaque tutoriel, il y a des conseils à changer .vimrc, mais je n'ai pas ce fichier, seulement .viminfo. Sont-ils les mêmes?

Sergey
la source

Réponses:

40

Ils ne sont pas les mêmes. Le vimrc est le fichier que vous modifiez pour changer le comportement de vim. Il s'agit du fichier de configuration.

Le viminfo est comme un cache, pour stocker les tampons de coupe de manière persistante, et d'autres choses.

Depuis la documentation ( :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.

En d'autres termes, c'est Vim qui écrit ce fichier, pas vous.

Voici un exemple (version modifiée de la mienne).

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
la source
2
Je ne trouve pas alors vimrc, j'essaye de trouver ~ -name * vimrc, le résultat est vide, dois-je le créer?
Sergey
8
@Sergey: Traditionnellement, les fichiers de configuration n'apparaissent que lorsque vous , l'utilisateur, les créez. (Cela n'a aucun sens de conserver quelques dizaines de fichiers rc vides pour chaque programme installé.)
grawity
Si vous avez du mal à publier le vôtre .vimrc, il peut être utile d'indiquer ce que fait chaque ligne. (Vous en avez déjà commenté)
Stewart
6

Si .vimrc n'existe pas, vous devez le créer. Je recommande d'héberger le fichier de configuration dans github et de créer un lien symbolique vers votre .vimrc

Petit bonbon
la source
Je pousse actuellement la plupart de mes fichiers rc vers un référentiel github à la fois pour la facilité de duplication de ma configuration sur plusieurs machines et pour un partage rapide avec des collègues. À quoi le lien symbolique aiderait-il exactement?
Qcom
2
@Qcom: Le lien symbolique nous permet de maintenir facilement une version canonique de notre fichier ~ / .vimrc. Cette version est stockée dans git. Nous pouvons modifier ce fichier, puis le pousser dans notre référentiel. Toutes les autres machines qui tirent la copie la plus récente de notre dépôt verront le changement. Sinon, nous éditions le fichier, le copions dans le référentiel, puis le poussons. C'est une étape supplémentaire. Il est également sujet aux erreurs car nous risquons "d'oublier" de le copier dans le référentiel.
ccalvert