본문 바로가기

How to/컴퓨터

웹서버 나만의 NAS (5) CentOS에서 vim 설치 및 설정, 명령어

vi? vim?

    1976년 vi가 처음 등장한 이후로 유닉스 계열 os에서 vi는 상당한 인기를 끈다. 이후 등장하는 많은 유닉스 계열에서 vi는 기본 탑재되는 텍스트 편집 프로그램이 된다. 하지만 시간이 지나고 프로그램이 오래되다보니 부족한 점이 많아진다. 1991년 이를 보완하고자 vi improved를 뜻하는 vim이 등장한다. 하지만 현재 기준으로는 이마저도 오래되었기에, NeoVim이라는 프로젝트로 현재 오픈소스를 통해 현대화가 진행중이다.[1]


CentOS에서 vim 설치하기

vi는 CentOS에 기본으로 탑재되어있으니 여기선 vim을 깔아본다.

$ sudo yum install vim

어떄요? 참 쉽죠?


vim설정하기

    vim을 설정하는 방법은 2가지가 있다. 하나는 현재 접속한 사용자만을 위해 설정하는 방법이고, 하나는 컴퓨터를 쓰는 모든 유저들에게 영향을 미치는 설정법이다. 본인이 타인의 서버에서 유저를 할당받아 사용중이라면 본인만을 위한 설정을 하면되고, 그냥 본인 컴퓨터라면 vim설정을 통으로 바꾸어도 된다.


$ sudo vim ~./.vimrc

현재 유저에게만 적용


$ sudo vim /etc/vimrc

컴퓨터에 적용


현 유저에게만 적용하는 설정을 시도할 경우 빈 문서일테니 본인 원하는 설정을 그냥 적어도 좋다. 하지만 컴퓨터 전체에 적용하는 설정을 시도할 경우 이미 default로 어느정도 적혀있을 것이다. 이것들을 잘 유념하면서 설정을 추가하던가, 아니면 위를 그냥 다 주석처리하던가 하면서, 본인이 원하는 설정을 적으면 좋다.


syntax on "구문 구분 filetype indent on "파일타입을 찾고 그에 맞는 들여쓰기 사용 set nocompatible "vi 호한 무시로 알고있는데 이걸 권장한다고 함. set wildmenu "더 나은 커맨드라인 지원 set number "줄 번호 표시 set backspace=indent,eol,start "백스페이스 사용 가능, 백스페이스가 줄, 들여쓰기 를 지움. set laststatus=2 "밑에 상태창이 2줄로 표시 set visualbell "삐삐 소리 대신 화면이 깜빡임 set mouse=a "마우스 사용 가능 set ruler "현재 커서 위치 표시 set ignorecase "검색 시 대문자, 소문자 무시 set smartcase "검색 시 대문자가 있는 경우에만 그걸 그대로 받아드림. set showmatch "매치되는 괄호 표시 set wrap "글이 길어 윈도우창을 넘어갈경우 아래로 이어씀. 라인 번호 자체는 안바뀜. set title "파일명 표시 set tabstop=4 "탭을 누르면 스페이스 4개 분량으로


원하는 설정만 본인에게 적용하도록 하자. 혹시 다른 설정이 더 필요하면 구글에서 vimrc를 검색하면 더 많은 정보 얻을 수 있다. 그리고 혹 putty를 사용한다면 set backspace의 경우 제대로 작동하지 않을 수가 있다. 이 경우 PuTTY Configuration -> Terminal -> Keyboard -> The Backspace key를 Ctrl-H로 변경해야한다.


vi, vim 기본 명령어

    vi 혹은 vim에서 esc를 누르면 명령모드로, i를 누르면 쓰기모드로 전환된다. 명령모드에서 :를 치고 vim명령어를 입력하면 명령어를 사용할 수 있다.


:q "나가기

:q!  "강제 나가기

:w "쓰기(저장)

:wq "쓰고 나가기

:set number "줄 번호 표시. 일시적일뿐 나갔다 들어면 다시 초기화된다.

:help 'wrap' "set wrap에 대한 정보가 뜸

?[KEYWORD] "검색기능


이로써 가볍게 vim을 사용할 수 있게 됐다. 다른 사람들의 설정을 찾아보면 더 하드하게 사용하는 경우도 많으니 원한다면 더 알아보고 필요한 기능만 쏙쏙 받아들이자.



[1] https://neovim.io/