728x90
반응형

vi/vim 환경 파일 및 불러오는(로딩,loading) 순서

  • vi/vim은 사용자 환경과 설정을 관리하기 위해 여러 파일을 사용하며, 특정 순서대로 이를 불러옵니다.
  • 각 파일의 역할과 순서를 다음과 같이 설명합니다.


1. Vim 환경 파일

  1. /etc/vimrc

    • 시스템 전역 설정 파일.
    • 모든 사용자에게 적용되는 기본 설정을 담고 있습니다.
  2. ~/.vimrc

    • 사용자 개별 설정 파일.
    • 개별 사용자가 커스터마이징한 설정을 담습니다.
    • $HOME 디렉터리에 위치합니다.
  3. /etc/gvimrc

    • GUI Vim(gVim)의 전역 설정 파일.
    • GUI 환경에서 적용될 기본 설정을 포함합니다.
  4. ~/.gvimrc

    • 사용자 개별 GUI Vim 설정 파일.
    • gVim에서만 사용하는 사용자 지정 설정을 담습니다.
  5. $MYVIMRC

    • 사용자가 명시적으로 설정한 vimrc 파일 경로.
    • Vim이 이를 통해 설정 파일의 위치를 확인합니다.
  6. Plugin 설정 파일

    • ~/.vim/plugin/ 디렉터리에 있는 개별 플러그인 파일.
    • 각 플러그인별 설정 스크립트가 여기에 저장됩니다.
  7. 색상 파일

    • ~/.vim/colors/ 디렉터리.
    • 사용자 정의 색상 테마 파일이 저장됩니다.
  8. 임시 및 백업 파일

    • ~/.vim/swap/, ~/.vim/backup/ 디렉터리에 생성.
    • 편집 중 생성되는 임시 파일 및 백업 파일의 저장소.


2. Vim 환경 파일 불러오는 순서

Vim은 설정 파일을 아래와 같은 순서로 읽습니다:

  1. Vim 실행 초기화

    • -u 또는 --noplugin 옵션으로 설정 파일을 지정하거나 플러그인 로딩을 비활성화할 수 있습니다.
    • 기본 설정 파일은 이 옵션이 없는 경우에만 로드됩니다.
  2. 전역 설정 파일

    • /etc/vimrc
    • /etc/gvimrc (GUI 환경 시).
  3. 사용자 로컬 설정 파일

    • ~/.vimrc
    • ~/.gvimrc (GUI 환경 시).
  4. $MYVIMRC 파일

    • $MYVIMRC 환경 변수가 지정된 경우, 이 경로에 있는 설정 파일을 로드.
  5. 플러그인 로드

    • ~/.vim/plugin/ 디렉터리에 있는 플러그인 스크립트 로드.
    • 파일명 순서대로 읽습니다.
  6. 컬러스키마 로드

    • 설정 파일에서 명시된 색상 테마 파일 로드.
  7. 명령줄 인수 설정

    • 실행 시 명령줄에서 전달한 옵션이나 스크립트를 처리.
  8. 사용자 정의 로드

    • 설정 파일 안에서 추가적으로 지정된 설정(예: 외부 스크립트 포함) 로드.


3. 설정 파일이 로드되지 않도록 하려면?

  • vim -u NONE

    • 설정 파일을 전혀 로드하지 않고 기본 설정으로 시작합니다.
  • vim -u path/to/custom.vim

    • 특정 설정 파일만 로드합니다.


참고 사항

  • 환경 파일에서 설정 충돌을 방지하려면 설정 파일 간 명확한 역할 분담과 주석을 활용하는 것이 좋습니다.
  • 설정이 제대로 적용되었는지 확인하려면 :scriptnames 명령어로 로드된 파일 목록을 확인할 수 있습니다.


$VIMRUNTIME/defaults.vim 파일

  • $VIMRUNTIME/defaults.vim은 **Vim이 기본 설정(default settings)**을 관리하기 위해 사용하는 초기화 파일입니다.
  • 이 파일은 Vim이 실행될 때 기본값을 설정하고, 필요 시 사용자 정의 설정과 통합될 수 있도록 설계되었습니다.

1. 주요 역할

  1. 기본 설정 제공

    • Vim의 표준적인 기본값을 정의하여, 사용자 설정이 없는 경우라도 기본적인 동작이 일관되게 유지되도록 합니다.
    • 사용자 환경 설정(~/.vimrc, $MYVIMRC)을 작성하지 않은 사용자에게 유용합니다.
  2. 초기화 작업

    • Vim 실행 시 초기 설정을 수행하며, 이후 사용자가 정의한 설정 파일(~/.vimrc)이 이를 덮어씁니다.
    • 예: 문법 강조, 줄 번호 표시, 파일 인코딩 설정 등.
  3. 환경 변수 $VIMRUNTIME와의 관계

    • $VIMRUNTIME은 Vim의 실행 경로를 지정하는 환경 변수로, 이 경로 안에 여러 시스템 설정 파일이 포함되어 있습니다.
    • defaults.vim$VIMRUNTIME 디렉터리 내에 위치하며, 주로 시스템 관리자가 관리하는 파일입니다.

2. 주요 내용

$VIMRUNTIME/defaults.vim 파일에는 기본 설정들이 포함되어 있으며, 다음과 같은 옵션이 정의될 수 있습니다:

  • 기본 설정 예시

    vim

    " Enable syntax highlighting
    syntax on
    
    " Enable filetype detection and plugins
    filetype plugin indent on
    
    " Set default tab width
    set tabstop=8
    set shiftwidth=8
    set expandtab
    
    " Enable line numbers
    set number
    
  • 특징

    • Vim의 전역 설정 파일로 작동하며, 사용자 설정 이전에 로드됩니다.
    • 단순히 Vim의 기본 동작을 개선하고 사용성을 높이는 역할을 합니다.

3. 불러오는 순서에서의 위치

  1. Vim은 실행 시 다음 순서로 설정 파일을 로드합니다:

    • 전역 설정 파일: /etc/vimrc
    • 사용자 설정 파일: ~/.vimrc
    • $VIMRUNTIME/defaults.vim
  2. defaults.vim은 일반적으로 사용자 설정 파일보다 먼저 실행되며, 사용자 설정 파일이 이를 덮어씁니다.

4. 비활성화 방법

  • 사용자가 defaults.vim의 설정을 원하지 않을 경우, 다음과 같이 비활성화할 수 있습니다:
    1. Vim 실행 시 인수 추가

      bash

      vim -u NONE
      

      위 명령은 defaults.vim을 포함한 모든 설정 파일을 무시하고 기본값으로 실행합니다.

    2. 환경 설정에서 비활성화 ~/.vimrc에 다음 설정을 추가해 defaults.vim이 로드되지 않도록 할 수 있습니다:

      vim

      set nocompatible
      let g:skip_defaults_vim = 1
      

5. 주의점

  • defaults.vim 파일을 직접 수정하는 것은 권장되지 않습니다.
    • 시스템 전역 파일이므로, 다른 사용자와의 설정 충돌 또는 Vim 업데이트 시 덮어쓰기 위험이 있습니다.
    • 필요할 경우, 사용자 설정 파일(~/.vimrc)에서 덮어쓰기 방식을 활용하는 것이 좋습니다.
728x90
반응형

'vim' 카테고리의 다른 글

vim 인코딩(encoding) 표시  (0) 2024.09.05
vim 파일 인코딩 방식 캐릭터 셋(character-set) 보기  (0) 2018.01.22

+ Recent posts