Vim editor 설치 및 설정

Jarvis_Geun·2022년 3월 3일
1

Ubuntu

목록 보기
1/5

1. Vim 에디터 설치

터미널 창에 아래의 명령어를 입력하여 vim 에디터 설치

sudo apt-get install vim

2. Vim 에디터 환경 설정

아래의 명령어를 입력하여 vim 에디터의 설정을 변경해줄 수 있다.

vim ~/.vimrc

위의 명령어를 통해 vim 에디터의 여러가지 설정을 변경해줄 수 있다. 예를 들면, vim 에디터에서 tab 키는 기본(default) 값으로 공백(space) 8칸이 설정되어 있는데 이를 공백 4칸으로 설정해줄 수 있다. 또한 코드가 몇번째 줄인지 알 수 있게 줄 번호를 설정해줄수도 있다. 이외에도 여러가지 기능이 있으며 vimrc 파일에서 코드만 간단하게 설정해주면 이러한 것들을 커스텀 할 수도 있다. vim 에디터를 설정하는 방법을 간단하게 알아보도록 한다.

Syntax Highlighting

Vscode나 Pycharm을 써보면 기본적으로 각 프로그래밍 언어에 대해 여러가지 색깔로 코드를 구성한 것을 확인할 수 있다. 이는 프로그래밍 언어마다 문법에 따라 가독성을 위해, 프로그램에서 제공해주는 기능이다. vim 에디터 역시 파이썬 문법에 맞게 색깔이 자동으로 변하게 지정해줄 수 있다. 설정 코드는 아래와 같다.

if has ("syntax")
	syntax on
endif

위의 코드를 새로 만든 .vimrc 코드에 입력해주면 된다. 이 이야기와는 별개로, vim 에디터의 주석처리는 " 을 사용하면 된다. 파이썬의 # 와 같은 역할이다. 예를 들면 아래와 같다.

"Syntax Highlighing
if has ("syntax")
	syntax on
endif

Auto Indent

말그대로 자동 들여쓰기 기능을 설정해주는 방법에 대해 설명하려 한다. vim 에디터는 기본적으로 자동 들여쓰기가 설정되어 있지않다. 파이썬에 비교해보자면, 반복문이나 조건문을 사용할 경우 해당 블록 안에서 줄바꿈을 하면 그에 맞게 자동으로 들여쓰기가 된다. 그러나 vim 에디터의 경우 줄바꿈을 해도 커서가 맨 처음 부분에 위치하게 된다. 자동 들여쓰기를 설정하기 위해 .vimrc 파일에 아래의 코드를 추가해준다.

set autoindent
set cindent

Set number

디버깅을 하는데 있어 정말 중요한 기능이라고 생각합니다. 일반적으로 에러가 발생하면 어느 파일의 몇번째 줄에 문제가 있는지를 알려주는데 vim 에디터는 기본적으로 줄 번호를 표시해주지 않습니다. 이것 또한 코드를 추가하여 설정해주어야 합니다. 코드는 아래와 같습니다.

set nu

또는

set number

이외에도 다양한 기능들을 추가할 수 있으며, 별도의 설명은 하지 않고 간단히 코드만 추가해놓도록 하겠습니다.

Set Tab Indent

set smartindent   "줄바꿈 시, 이전 문장의 indent에서 새로 시작
set tabstop=4     "또는 set ts=4 (tab 너비)
set expandtab     "tab안에 space 채우기
set shiftwidth=4  "자동 들여쓰기(auto indent)할 때의 너비

Locate cursor where I've modified most recently

"가장 최근에 수정한 곳에 커서 위치
au BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "norm g`\"" |
\ endif

Present location of cursor with “line : column”

set laststatus=2 "상태바 상시 출력
set statusline=\ %<%l:%v\ [%P]%=%a\ %h%m%r\ %F\

Total codes

"Syntax Highligthing
if has ("syntax")
    syntax on
endif

set autoindent
set cindent      "C언어 자동 들여쓰기
set nu

set smartindent
set tabstop=4
set expandtab
set shiftwidth=4

"가장 최근에 수정한 곳에 커서 위치
au BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "norm g`\"" |
\ endif

set laststatus=2 "상태바 상시 출력
set statusline=\ %<%l:%v\ [%P]%=%a\ %h%m%r\ %F\

참고자료

함께 보면 좋을만한 사이트

profile
Although. 그럼에도 불구하고.

0개의 댓글