Vimrc e viminfo sono gli stessi file ma con nomi diversi?


29

Sono .vimrce .viminfogli stessi file, ma con nomi diversi?

In ogni tutorial ci sono consigli per cambiare .vimrc, ma non ho solo questo file .viminfo. Sono gli stessi?

Risposte:


40

Non sono gli stessi. Vimrc è il file modificato per modificare il comportamento di vimrc. È un file di configurazione.

Il viminfo è come una cache, per archiviare i buffer di taglio in modo persistente e altre cose.

Dai documenti ( :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.

In altre parole, Vim scrive questo file, non tu.

Ecco un esempio (versione modificata della mia).

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
Allora non riesco a trovare vimrc, sto provando a trovare ~ -name * vimrc, il risultato è vuoto, dovrei crearlo?
Sergey,

8
@Sergey: tradizionalmente, i file di configurazione compaiono solo quando tu , l'utente, li crei. (Non ha assolutamente senso tenere alcune dozzine di file rc vuoti per ogni programma installato.)
Grawity

Se hai difficoltà a pubblicare i tuoi .vimrc, potrebbe essere utile indicare cosa fa ogni riga. (Ne hai già commentato alcuni)
Stewart

6

Se .vimrc non esiste, è necessario crearlo. Consiglio di ospitare il file di configurazione in github e di creare un collegamento simbolico al tuo .vimrc


Attualmente spingo la maggior parte dei miei file rc in un repository github sia per la facilità di duplicazione della mia configurazione su macchine sia per una rapida condivisione con i colleghi. Con che cosa sarebbe utile esattamente il collegamento simbolico?
Qcom,

2
@Qcom: il collegamento simbolico ci consente di mantenere facilmente una versione canonica del nostro file ~ / .vimrc. Quella versione è memorizzata in git. Possiamo modificare quel file, quindi inviarlo al nostro repository. Tutte le altre macchine che estraggono la copia più recente del nostro repository vedranno il cambiamento. Altrimenti, dovremmo modificare il file, copiarlo nel repository e quindi inviarlo. Questo è un passo in più. È inoltre soggetto a errori poiché è probabile che "dimentichiamo" di copiarlo nel repository.
ccalvert,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.