Sind vimrc und viminfo die gleichen Dateien, aber mit unterschiedlichen Namen?

29

Sind .vimrcund .viminfodie gleichen Dateien, aber mit unterschiedlichen Namen?

In jedem Tutorial gibt es Hinweise zum Ändern .vimrc, aber ich habe nicht nur diese Datei .viminfo. Sind sie gleich

Sergey
quelle

Antworten:

40

Sie sind nicht gleich. Die vimrc ist die Datei, die Sie bearbeiten, um das Verhalten von vim zu ändern. Es ist eine Konfigurationsdatei.

Das Viminfo ist wie ein Cache, um geschnittene Puffer und andere Dinge dauerhaft zu speichern.

Aus den Dokumenten ( :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.

Mit anderen Worten, Vim schreibt diese Datei, nicht Sie.

Hier ist ein Beispiel (meine eigene modifizierte Version).

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
quelle
2
Ich kann vimrc dann nicht finden, ich versuche, ~ -name * vimrc zu finden, das Ergebnis ist leer, sollte ich es erstellen?
Sergey
8
@Sergey: Traditionell werden Konfigurationsdateien nur angezeigt, wenn Sie als Benutzer sie erstellen. (Es macht absolut keinen Sinn, für jedes installierte Programm ein paar Dutzend leere rc-Dateien
aufzubewahren
Wenn Sie Schwierigkeiten haben, Ihre eigenen zu veröffentlichen .vimrc, kann es hilfreich sein, anzugeben, was die einzelnen Zeilen bewirken. (Sie haben einige von ihnen bereits kommentiert)
Stewart
6

Wenn .vimrc nicht vorhanden ist, sollten Sie es erstellen. Ich empfehle, die Konfigurationsdatei in github zu hosten und einen symbolischen Link zu Ihrer .vimrc zu erstellen

Kleine süsse
quelle
Ich schiebe derzeit die meisten meiner rc-Dateien auf ein Github-Repo, um meine Konfiguration maschinenübergreifend zu duplizieren und um sie schnell mit Kollegen zu teilen. Womit würde der symbolische Link genau helfen?
Qcom
2
@Qcom: Der symbolische Link ermöglicht es uns, eine kanonische Version unserer ~ / .vimrc-Datei einfach zu pflegen. Diese Version ist in Git gespeichert. Wir können diese Datei bearbeiten und dann in unser Repository verschieben. Alle anderen Maschinen, die die neueste Kopie unseres Repos beziehen, werden die Änderung sehen. Andernfalls bearbeiten wir die Datei, kopieren sie in das Repository und verschieben sie anschließend. Das ist ein zusätzlicher Schritt. Es ist auch fehleranfällig, da wir wahrscheinlich vergessen werden, es in das Repo zu kopieren.
ccalvert