FREEDOM. FRIENDS. FEATURES. FIRST.
페도라 한국 사용자 모임

[Tip]vimrc 사용을 위한 default.vi 설정하기

게시판 Tech/Tip [Tip]vimrc 사용을 위한 default.vi 설정하기

  • This topic has 0개 답변, 1명 참여, and was last updated 5 years, 7 months 전에 by 난해주님. This post has been viewed 30 times
  • 만든이
    게시글
  • #12254
    난해주님
    참가자
    • 게시글114
    • 댓글337
    • 총합451
    • ★★
    @workman729

    페도라에선 vi가 기본으로 설치되지만 vimrc를 설정하여 vim을 많이 사용할 것 같습니다.

    페도라는 특이할만 한 점이 몇가지 있는 데 그중 하나가 vim 설치후 vimrc를 적용하는 것일 겁니다.
    과거에는 alias 설정으로 간단히 적용되었지만 페도라 18 부턴 이 방법이 통하지 않습니다.
    주변에 많은 분들이 페도라에서 vimrc가 적용되지 않는다고 합니다.
    그것은 잘 못된 선입견으로 많은 분들이 vi 대신 vim 명령어를 사용하느라고 적응에 애를 먹는 모습을 보게 됩니다.
    아래는 vi 사용시 vimrc를 적용하는 방법입니다.
    # sudo dnf install vim
    # sudo mv /usr/bin/vi /usr/bin/vi.orig
    # sudo alternative --install "/usr/bin/vi" "default.vi" "/usr/bin/vim" 200
    이후 홈에 .vimrc 파일을 생성합니다. 아래는 제가 사용하는 vimrc 입니다.
    " use extended function of vim (no compatible with vi)
    set nocompatible

    " specify encoding
    set encoding=utf-8

    " specify file encoding
    set fileencodings=utf-8,euc-kr,cp949,cp932,euc-jp,shift-jis,big5,latin1,ucs-2le

    " specify file formats
    set fileformats=unix,dos

    " 자동으로 들여쓰기
    set autoindent

    " 스마트한 들여쓰기
    set smartindent

    " 자동 들여쓰기 4칸
    set shiftwidth=4

    " 붙여넣기시 계단 현상 제거
    set paste

    " take backup
    " if not, specify [ set nobackup ]
    set nobackup

    " specify backup directory
    " set backupdir=~/backup

    " take 50 search histories
    set history=50

    "파일 형식에 따른 신택스 하이라이팅 켜기
    sy enable

    " ignore Case
    set ignorecase

    " distinct Capital if you mix it in search words
    set smartcase

    " highlights matched words
    " if not, specify [ set nohlsearch ]
    set hlsearch

    " use incremental search 
    " if not, specify [ set noincsearch ]
    set incsearch

    " show line number
    " if not, specify [ set nonumber ]
    set number

    " 줄 번호 표시 너비 설정
    set nuw=5

    " 화면 우측 하단에 현재 커서의 위치(줄, 칸)을 보여준다.
    set ruler

    " Visualize break ( $ ) or tab ( ^I )
    " set list

    " highlights parentheses
    set showmatch

    " show color display
    " if not, specify [ syntax off ]
    syntax on

    " change colors for comments if it's set [ syntax on ]
    highlight Comment ctermfg=LightCyan

    " wrap lines
    " if not, specify [ set nowrap ]
    set wrap

    """""""""""""""""""""""""""""""""""""""""""""""""""""""
    " Color
    """""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 배경 검정색
    set bg=dark
    " 색상 밝게 하기
    set nocompatible
    let colors_name = "classic"
    hi clear
    hi Normal guifg=white guibg=black
    hi SpecialKey guifg=#666666
    hi NonText guifg=#666666
    hi Directory guifg=#99FFFF
    hi ErrorMsg guifg=#FFFFFF guibg=#FF9999
    hi IncSearch gui=reverse
    hi Search guifg=#000000 guibg=#999933
    hi MoreMsg guifg=#99FF99
    hi LineNr guifg=#FFFF99
    hi Question guifg=#99FF99
    hi StatusLine gui=reverse
    hi StatusLineNC gui=reverse
    hi VertSplit gui=reverse
    hi Title guifg=#FF99FF
    hi Visual gui=reverse
    hi VisualNOS gui=underline
    hi WarningMsg guifg=#FF9999
    hi WildMenu guifg=#000000 guibg=#999933
    hi Folded guifg=#99FFFF guibg=#666666
    hi FoldColumn guifg=#99FFFF guibg=#666666
    hi DiffAdd guibg=#9999FF
    hi DiffChange guibg=#FF99FF
    hi DiffDelete term=bold guifg=#9999FF guibg=#99FFFF
    hi DiffText term=reverse guibg=#FF9999
    hi Comment term=bold guifg=#99FFFF
    hi Constant term=underline guifg=#FF99FF
    hi Special term=bold guifg=#FF9999
    hi Identifier term=underline guifg=#99FFFF
    hi Statement term=bold guifg=#FFFF99
    hi PreProc term=underline guifg=#9999FF
    hi Type term=underline guifg=#99FF99
    hi Underlined term=underline gui=underline guifg=#9999FF
    hi Ignore guifg=#000000
    hi Error term=reverse guifg=#FFFFFF guibg=#FF9999
    hi Todo term=standout guifg=#000000 guibg=#999933
    """""""""""""""""""""""""""""""""""""""""""""""""""""""

    " 항상 status 라인을 표시하도록 함
    set ls=2
    " status 라인이 어떻게 나오게 할 지 지정
    set statusline=%<%F%h%m%r%h%w%y\ %{strftime(\"%Y/%m/%d-%H:%M\")}%=\ col:%c%V\ ascii:%b\ pos:%o\ lin:%l\,%L\ %P
    set laststatus=2

    저장 후 아래와 같이 /root 디렉토리에 복사합니다.
    # sudo cp .vimrc /root

    이후 터미널에서 sudo 또는 vi 명령어를 이용하면 vimrc 설정이 적용됩니다.
    이제 vi 대신 vim 명령어를 사용할 필요가 없습니다.
  • 답변은 로그인 후 가능합니다.