728x90
반응형
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
반응형

vim 인코딩(encoding) 표시

  • Vim에서 현재 파일의 인코딩 방식을 확인하려면 상태줄에 파일의 인코딩 방식을 표시하도록 설정할 수 있습니다. 다음은 이를 설정하는 방법입니다.

1. 인코딩 방식을 수동으로 확인하는 방법

파일의 인코딩 방식을 수동으로 확인하려면 명령어 모드에서 다음 명령어를 입력합니다.

:set fileencoding?

이 명령어는 현재 열려있는 파일의 인코딩 방식을 보여줍니다.

2. 상태줄에 인코딩 방식을 표시하는 방법

Vim의 상태줄에 파일 인코딩 정보를 항상 표시하고 싶다면 .vimrc 파일에 다음 줄을 추가할 수 있습니다.

set statusline+=%{&fileencoding}

이렇게 설정하면 상태줄에 현재 파일의 인코딩 방식이 표시됩니다.

또는 기본 상태줄에 더 많은 정보를 추가하고 싶다면 아래와 같이 설정할 수도 있습니다.

set statusline=%f\ %h%m%r%=%{&fileencoding}\ %y\ %p%%

이 설정은 파일 이름, 수정 여부, 파일 인코딩, 파일 형식 등을 상태줄에 표시합니다.

이 설정을 적용한 후 Vim을 다시 시작하거나, Vim 내에서 다음 명령을 입력하여 설정을 다시 로드할 수 있습니다.

:source ~/.vimrc
728x90
반응형
반응형

vim 의 하단 상태창에 읽어 들인 파일(file)의 캐릭터 셋(character-set)을 보고 싶다면 다음과 같이 정의하면 됩니다.  


~/.vimrc 에 추가할 내용

if has("statusline")

 set statusline=%<%f\ %h%m%r%=%{\"[\".(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\",B\":\"\").\"]\ \"}%k\ %-14.(%l,%c%V%)\ %P

endif 


한글 fencs 를 함께 정의한 예제

set fencs=utf-8,ucs-bom,euc-kr,cp949

if has("statusline")

 set statusline=%<%f\ %h%m%r%=%{\"[\".(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\",B\":\"\").\"]\ \"}%k\ %-14.(%l,%c%V%)\ %P

endif


vim 에서 파일을 읽어 들인 모습



728x90
반응형

'vim' 카테고리의 다른 글

vi/vim 환경 파일 및 불러오는(로딩,loading) 순서  (0) 2025.01.20
vim 인코딩(encoding) 표시  (0) 2024.09.05

+ Recent posts