O vimrc e o viminfo são os mesmos arquivos, mas com nomes diferentes?


29

São .vimrce .viminfoos mesmos arquivos, mas com nomes diferentes?

Em todo tutorial, há conselhos para mudar .vimrc, mas eu não tenho esse arquivo apenas .viminfo. Eles são os mesmos?

Respostas:


40

Eles não são os mesmos. O vimrc é o arquivo que você edita para alterar o comportamento do vim. É um arquivo de configuração.

O viminfo é como um cache, para armazenar buffers de corte persistentemente e outras coisas.

Dos 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.

Em outras palavras, o Vim grava esse arquivo, não você.

Aqui está um exemplo (versão modificada própria).

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
I cannot find vimrc then, I'm trying find ~ -name *vimrc, the result is empty, should I create it?
Sergey

8
@ Emerge: Tradicionalmente, os arquivos de configuração aparecem apenas quando você , o usuário, os cria. (Não faz absolutamente nenhum sentido manter algumas dezenas de arquivos rc vazios para cada programa instalado.)
grawity

Se você estiver com problemas para publicar suas próprias .vimrc, pode ser útil indicar o que cada linha faz. (Você já comentou alguns deles)
Stewart

6

Se .vimrc não existir, você deve criá-lo. Eu recomendo hospedar o arquivo de configuração no github e criar um link simbólico para o seu .vimrc


Atualmente, envio a maioria dos meus arquivos rc para um repositório no Github, tanto pela facilidade de duplicar minha configuração nas máquinas quanto pelo rápido compartilhamento com colegas de trabalho. Com o que o link simbólico ajudaria exatamente?
QCOM

2
@Qcom: o link simbólico nos permite manter facilmente uma versão canônica do nosso arquivo ~ / .vimrc. Essa versão é armazenada no git. Podemos editar esse arquivo e enviá-lo ao nosso repositório. Todas as outras máquinas que obtiverem a cópia mais recente de nosso repositório verão a mudança. Caso contrário, editaríamos o arquivo, copiá-lo para o repositório e depois empurrá-lo. Esse é um passo extra. Também é propenso a erros, pois é provável que "esqueça" de copiá-lo para o repositório.
ccalvert
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.