vimrc และ viminfo เป็นไฟล์เดียวกัน แต่มีชื่อแตกต่างกันหรือไม่?


29

มี.vimrcและ.viminfoไฟล์เหมือนกัน แต่มีชื่อแตกต่างกันอย่างไร

ในทุกกวดวิชามีคำแนะนำที่จะเปลี่ยนแต่ฉันไม่ได้มีไฟล์นี้เท่านั้น.vimrc .viminfoพวกเขาเหมือนกันหรือไม่

คำตอบ:


39

พวกเขาไม่เหมือนกัน vimrc เป็นไฟล์ที่คุณแก้ไขเพื่อเปลี่ยนพฤติกรรมของ vim มันเป็นไฟล์การกำหนดค่า

viminfo เป็นเหมือนแคชในการจัดเก็บบัฟเฟอร์ตัดอย่างถาวรและสิ่งอื่น ๆ

จากเอกสาร ( :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.

ในคำอื่น ๆ ที่เป็นกลุ่มเขียนไฟล์นี้ไม่ใช่คุณ

นี่คือตัวอย่างหนึ่ง (เวอร์ชั่นที่แก้ไขของฉันเอง)

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
ฉันไม่สามารถหา vimrc ได้ฉันพยายามหา ~ -name * vimrc ผลลัพธ์ว่างเปล่าฉันควรสร้างหรือไม่
Sergey

8
@Sergey: ตามปกติแล้วไฟล์กำหนดค่าจะปรากฏเฉพาะเมื่อคุณผู้ใช้สร้างไฟล์เท่านั้น (มันทำให้รู้สึกอย่างไม่มีที่จะเก็บไม่กี่โหลไฟล์ RC ว่างเปล่าสำหรับโปรแกรมที่ติดตั้งทุก.)
grawity

หากคุณกำลังประสบปัญหาในการโพสต์ของคุณเอง.vimrcอาจเป็นประโยชน์ในการระบุว่าแต่ละบรรทัดทำอะไร (คุณได้แสดงความคิดเห็นบางส่วนของพวกเขาแล้ว)
สจ๊วต

6

หาก. vimrc ไม่มีอยู่คุณควรสร้างมันขึ้นมา ฉันแนะนำให้โฮสต์ไฟล์กำหนดค่าใน github และสร้างลิงค์สัญลักษณ์ไปยัง. vimrc ของคุณ


ขณะนี้ฉันผลักไฟล์ rc ส่วนใหญ่ไปยัง repo github ทั้งสองเพื่อความง่ายในการทำซ้ำการกำหนดค่าของฉันในเครื่องและเพื่อการแบ่งปันอย่างรวดเร็วกับเพื่อนร่วมงาน ลิงก์สัญลักษณ์จะช่วยอะไรได้บ้าง?
Qcom

2
@Qcom: ลิงก์สัญลักษณ์ช่วยให้เราสามารถดูแลไฟล์ ~ / .vimrc เวอร์ชันมาตรฐานได้อย่างง่ายดาย รุ่นนั้นถูกเก็บไว้ในคอมไพล์ เราสามารถแก้ไขไฟล์นั้นจากนั้นส่งไปยังที่เก็บข้อมูลของเรา เครื่องอื่น ๆ ทั้งหมดที่ดึงสำเนา repo ล่าสุดของเราจะเห็นการเปลี่ยนแปลง มิฉะนั้นเราจะแก้ไขไฟล์คัดลอกไปที่ repo แล้วกดมัน นั่นเป็นขั้นตอนพิเศษ นอกจากนี้ยังเกิดข้อผิดพลาดได้ง่ายเนื่องจากเรามักจะ "ลืม" เพื่อคัดลอกไปยัง repo
ccalvert
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.