본문으로 바로가기

1. .vimrc 파일 생성하기

2. .vimrc 파일에 설정 값 넣기

 

 지금부터 하나씩 알아보도록 하겠다.

* 이 글에는 vi 편집기의 사용법에 대한 내용은 없습니다.

 

 

 

1. .vimrc 파일 생성하기

 

 

 .vimrc 파일은 언제나 홈 디렉토리에 존재해야 하므로, 홈 디렉토리로 이동하여 .vimrc를 생성한다.

 

 

 

cd ~
vim .vimrc

 

 위와 같이 명령어를 입력하면 홈 디렉토리에 .vimrc가 생성되고 vi 편집기가 열릴 것이다.

 

 

 

2. .vimrc 파일에 설정 값 넣기

 

 

 아래의 설정 값은 현재 내 컴퓨터에서 사용중인 설정 값이다. 각각의 설정 값들이 어떠한 의미를 가지는지 하나씩 알아보도록 하자.

 

 

 

 

1) Highlight

 

if has("syntax")
	syntax on
endif

 위 설정 값은 문법이 존재한다면 하이라이트를 켜라는 명령어이다. 우리가 생각하는 visual studio, pycharm과 같은 IDE에서 문법이 강조되는 것과 같이 문법 하이라이트 기능을 켠다고 생각하면 된다.

 

set hlsearch

 

 

 이 값을 넣으면 ?또는 /로 vim내의 특정한 문자열을 검색할 때 매칭되는 문자열을 하이라이트해주는 기능이다. 위와 같이, 검색 시 한눈에 잘 보이기 때문에 꽤 유용하다.

 

 

2) Line number

 

set nu

 

 

 위 설정을 켜면 그림과 같이 라인 넘버가 출력된다. gcc, python 프로그래밍을 할 때, 에러와 함께 에러난 코드의 라인을 출력해주는데, 이 설정을 켜면 한층 더 찾기가 쉬워진다.

 

 

3) Indent

 

set autoindent
set cindent

 

 위 설정을 켜면 문법에 따라서 자동으로 들여쓰기를 해준다. 우리가 사용하던 IDE의 기능들이 대부분 구현되어 실제 코딩시에도 상당히 편리하다.

 

 

4) Tap space

 

set ts=4
set sts=4
set shiftwidth=4

 위 세가지 설정 값은 tab 너비에 관련된 설정 값이다.

ts - 문서의 '\t' 값을 출력시 몇 개의 스페이스로 보여줄지에 대한 설정 값

sts - tab 키를 눌렀을 때 몇 개의 스페이스를 입력할 것인지에 대한 설정 값

shiftwidth - 자동 들여쓰기를 할 때의 스페이스 설정 값

 

 

5) Status

 

set laststatus=2

 마지막 창에 statusline을 보여주는 설정 값이다.

0 - 출력안함

1 - 창이 2개 이상일 때 출력

2 - 항상 출력

 

 

6) Show match

 

set showmatch

 

 

 이 설정값을 적용하면, 위 그림과 같이 닫는 괄호를 입력 시 짝이 되는 괄호를 하이라이트 해준다.

 

 

7) Smart setting

 

set smartcase
set smarttab
set smartindent

 위 설정값은 검색, 탭, 들여쓰기 시 자동으로 설정해 준다고 한다.

smartcase - no automatic ignore case switch

smarttab - ts, sts, sw 값을 참조하여, 탭과 백스페이스의 동작을 보조해준다.

smartindent - 자동 들여쓰기 시 #include 와 같은 전처리 구문을 판단하여 들여쓰기를 하지 않는다.

 

 

8) Ruler

 

set ruler

 

 

 위 그림과 같이 현재 커서 위치의 줄번호와 행번호를 출력해준다.

 

 

9) Encoding

 

set fileencodings=utf8,euc-kr

 위 설정을 하면, vim으로 파일을 열때, 그 파일의 인코딩 방식에 따라 맞춰서 연다. 보통 윈도우 메모장에서 작성된 텍스트는 기본값으로 euc-kr 인코딩을 가지고 있을 것이다. 따라서 윈도우에서 작성된 파일을 vim으로 열면, 리눅스 터미널은 utf8 형식을 기본적으로 사용하고 있기 때문에, 글씨가 깨져보일 것이다. 이러한 상황을 방지하기 위해서 utf8, euc-kr을 명시해주면, 인코딩 방식이 달라도 정상적인 출력을 보장한다.

 

 

10) 종합

 

 여기까지 각 속성에 대해서 알아보았다. 지금 사용중인 설정 값을 아래에 정리해서 올렸다.

if has("syntax")
	syntax on
endif

set hlsearch
set nu
set autoindent
set ts=4
set sts=4
set cindent
set laststatus=2
set shiftwidth=4
set showmatch
set smartcase
set smarttab
set smartindent
set ruler
set fileencodings=utf8,euc-kr

set mouse=a //스크롤 가능하도록 

출처 

hyoje420.tistory.com/51

 

[Vim]vim 설정하기

 리눅스에는 터미널환경에서 사용가능한 다양한 텍스트 편집기가 있다. 그 중 대표적인 편집기로 vim이 있다. vim은 vi의 클론으로 vi의 기본적인 명령어를 그대로 계승하고, 거기에 사용자가 더

hyoje420.tistory.com