이 글은 우분투 서버 원격 제어를 위한 SSH에서 편집기 VIM 사용 방법을 간략히 정리한다.
머리말
SSH는 윈도우 같은 클라이언트 컴퓨터에서 원격으로 같은 네트웍으로 묶여 있는 리눅스 서버를 제어하는 데 매우 편리하다. 하지만, GUI를 지원하지 않아, gedit 같은 편집기를 사용하기 어렵다(이 경우, x-server 에뮬레이션을 설치해야 한다).
리눅스 서버에 원격으로 코딩을 하거나, 설정을 하는 경우, 편집기가 필수적인데, GUI가 없이 편리하게 사용할 수 있는 프로그램이 없으면 작업할 수가 없다. 이 경우 VI나 VIM을 사용한다.
VIM을 이용하면 왠만한 편집기 이상의 기능을 제공하여 편리하게 코딩이나 설정파일을 편집할 수 있다(VI보다 편리하다). 다만, 사용을 위해 몇가지 설정이 필요하다.
설치 및 설정
다음 명령으로 VIM을 우분투에 설치한다.
sudo apt-get install vim
set number " show line
set ai " auto indent
set si " smart indent
set cindent " c style indent
set shiftwidth=4 " auto indent space 4 column
set tabstop=4 " convert tab to 4 spaces
set ignorecase " ignore case character
set hlsearch " highlight for searching
set nocompatible " enable arrow keys
set fileencodings=utf-8,euc-kr " file save encoding as utf-8, euc-kr
set fencs=ucs-bom,utf-8,euc-kr " korea text encoding as euc-kr, unicode
set bs=indent,eol,start " enable backspace
set ruler " show cursor on status line
set title " show title
set showmatch " show match () {}
set wmnu " enable auto complate when tab
syntax on " enable grammar highlight
filetype indent on " highlight depending on file format
set mouse=a " enable mouse position as cursor
사용
vim 사용은 일반 편집기와는 다르다. 이는 원격에서도 사용할 수 있고, 그래픽이 없는 최소한의 자원에서도 사용할 수 있도록 단축키를 이용하도록 설계되었기 때문이다.
vim은 편집기 명령 상태와 파일 편집 상태를 구분해 동작한다.
vim을 실행하면 명령 상태이며, 이때 다음 명령을 실행해 파일을 저장, 종료, 라인 복사, 라인 붙여넣기, 라인 삭제 등을 수행할 수 있다.
:q
:w
:wq
yy
p
/문자열
?문자열
n
N
:%s/old/new
:%s/old/new/g
u
ctrl + r
:cd
i
마무리
이 글은 리눅서 서버에서 텔넷이나 SSH로 원격 접속 시 사용하는 대표적 편집기인 VIM에 대해 이야기해보았다. 이 프로그램은 Bram Moolenaar가 개발한 것으로 1991년에 발표되어 지금까지 널리 사용되는 오픈소스이다. VIM은 VI Improved의 약자로 최초는 1988년 아미가 커뮤터에서 개발하다 발전된 것이다. VIM은 VI에 비해 정규 표현식, 마우스, 맞춤법 검사, 문법 강조 등 기능이 있어 편리하다. 뿐만 아니라, 다음과 같은 스크립트를 지원해 편집을 자동화할 수 있다.
while i < 5
echo "count is" i
let i += 1
endwhile
서버를 원격으로 설정하거나 코딩할 경우, VIM은 필수 도구이다.
댓글 없음:
댓글 쓰기