¿Son vimrc y viminfo los mismos archivos pero con nombres diferentes?

29

¿Son .vimrcy .viminfolos mismos archivos pero con nombres diferentes?

En cada tutorial hay consejos para cambiar .vimrc, pero no tengo este archivo solamente .viminfo. ¿Son lo mismo?

Sergey
fuente

Respuestas:

40

Ellos no son los mismos. El vimrc es el archivo que edita para cambiar el comportamiento de vim. Es un archivo de configuración.

El viminfo es como un caché, para almacenar búferes de corte de forma persistente y otras cosas.

De los documentos ( :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 otras palabras, Vim escribe este archivo, no tú.

Aquí hay un ejemplo (versión mía modificada).

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
fuente
2
No puedo encontrar vimrc entonces, estoy tratando de encontrar ~ -name * vimrc, el resultado está vacío, ¿debería crearlo?
Sergey
8
@Sergey: Tradicionalmente, los archivos de configuración solo aparecen cuando usted , el usuario, los crea. (No tiene ningún sentido mantener unas pocas docenas de archivos rc vacíos para cada programa instalado.)
grawity
Si tiene problemas para publicar el suyo .vimrc, puede ser útil para indicar qué hace cada línea. (Ya has comentado algunos de ellos)
Stewart
6

Si .vimrc no existe, debe crearlo. Recomiendo alojar el archivo de configuración en github y crear un enlace simbólico a su .vimrc

Poco dulce
fuente
Actualmente transfiero la mayoría de mis archivos rc a un repositorio de github, tanto por la facilidad de duplicar mi configuración en las máquinas como para compartir rápidamente con mis compañeros de trabajo. ¿Con qué ayudaría exactamente el enlace simbólico?
Qcom
2
@ Qcom: el enlace simbólico nos permite mantener fácilmente una versión canónica de nuestro archivo ~ / .vimrc. Esa versión se almacena en git. Podemos editar ese archivo y luego enviarlo a nuestro repositorio. Todas las otras máquinas que obtienen la copia más reciente de nuestro repositorio verán el cambio. De lo contrario, editaríamos el archivo, lo copiaríamos al repositorio y luego lo empujaríamos. Ese es un paso extra. También es propenso a errores, ya que es probable que "olvidemos" copiarlo en el repositorio.
ccalvert