1. Vim 단축키 #2

    • 2015.02.23
    • Comments
  2. Vim 시작 #1

    • 2015.02.07
    • Comments

Vim 단축키 #2

범위 지정 하기

범위 지정에 쓰이는 특수 기호(메타 문자)

명령어 설명

.

현재 행을 의미합니다.

$

마지막 행을 의미합니다.

+#

현재 위치에서 #만큼 아래 행을 의미합니다.

-#

현재 위치에서 #만큼  행을 의미합니다.

%

문서 파일 전체를 의미합니다.


비주얼 모드

행 번호로 범위를 지정하는 방법은 불편합니다. 비주얼 모드라는 것은 마우스를 드래그 하듯이 시각적으로 블록을 선택,복사,삭제 할 수 있습니다.

비주얼 모드 기능

명령어

설명
v 현재 커서 위치에서 블록을 지정
V 현재 커서가 위치한 행에서 행 단위로 블록을 지정

Tip. 비주얼 모드로 텍스트를 선택하고 u를 선택하면 모두 소문자로 변환하고 U를 누르면 대문자로 변환합니다. ~를 누르면 대,소문자가 스위칭됩니다.


옵션,도움말,에러

Vim을 더욱 편하게 사용하려면 각종 옵션과 색상 테마를 설정해야 합니다. 궁금한 기능을 찾아서 볼 수 있도록 도움말을 사용하는 방법과 도움말에서 검색어를 사용하는 방법을 알아 봅시다.

옵션 설정

명령어 설명
:set 옵션 설정
.vimrc 옵션 파일
.colo 색상 테마
.help 도움말

set 명령어 사용법

명령어 설명
:set 현재 옵션 설정을 보여줍니다.
:set all 모든 옵션 설정을 보여줍니다.
:set [no]name name에 해당하는 옵션을 켜거나 끕니다.
:set name! name에 해당하는 옵션 상태를 전환합니다.
:set name=value name에 해당하는 옵션에 value 값을 할당합니다.

Tip. 명령행 모드에서 :set all 명령어를 입력시 출력 결과가 열이 딱 맞이 낳고 들쑥 날쑥한 것이 보이는데 no가 앞에 붙은 옵션은 현재 비활성화 상태고 no가 붙지 않은 것들은 활성화 상태입니다. :set 명령어 입력시 현재 설정된 주요 설정들만 간략하게 볼 수 있습니다.

편집에 관련된 기초 옵션들

명령어 설명
nu(number) 화면에 행 번호를 표시합니다.
ai(autoindent) 자동 들여쓰기를 사용합니다.
cindent C 스타일의 들여쓰기를 제공합니다.
ts=value(tabstop) 탭 크기를 value로 지정합니다.
sw=value(shiftwidth) 블록 이동시 열의 너비입니다.
tw=value(textwidth) 편집할 화면의 열 길이를 정합니다. (0이면 비활성화)

Tip. sw(shiftwidth)는 ts(tabstop)보다 같거나 작아야합니다.


옵션과 색상 테마 저장하기(vim 설정 파일)

설정 파일 만들기

Vim을 실행한 후 리눅스, 유닉스 맥 에선 :e ~/.vimrc라고 명령하고 윈도 계열에선 :e ~/_vimrc 라고 명령합니다.

" vim runtime configuration file
" 행 번호 표시
set nu
" 자동 들여쓰기, C스타일 들여쓰기 설정
set ai cindent
" 탭 크기, 블록 이동시 열의 너비 지정
set ts=4 sw=4

쌍따옴표(")는 주석문 입니다.

문법 오류 표시

명령어 설명
:syntax enable 문법 표시를 사용합니다.
:syntax clear 문법 표시를 사용하지 않습니다.
:colorscheme 색상을 사용합니다.
blue, darkblue, default ... 테마 종류

Tip. 기본 내장 되어 있는 테마들 말고도 다른 사람들이 만들어 놓은 테마들도 사용하실 수 있습니다. 저 같은 경우는 sublime text에서 monokai를 사용했었는데 혹시나 해서 찾아보니 vim용도 제작되어 있네요. monokai Theme Github ~/.vim/colors/ 폴더에서 받으신 파일(monokai.vim)을 넣으시고 ~/.vimrc 에 syntax enable colorscheme monokai 코드를 입력하시면 됩니다.


도움말 사용하기

도움말에 사용되는 접두어

명령어 설명
nu(number) 화면에 행 번호를 표시합니다.
ai(autoindent) 자동 들여쓰기를 사용합니다.
cindent C 스타일의 들여쓰기를 제공합니다.
ts=value(tabstop) 탭 크기를 value로 지정합니다.
sw=value(shiftwidth) 블록 이동시 열의 너비입니다.
tw=value(textwidth) 편집할 화면의 열 길이를 정합니다. (0이면 비활성화)


'Vim' 카테고리의 다른 글

Vim 시작 #1  (0) 2015.02.07

응용 프로그램을 개발하기 위해선.. 더 나은 환경을 제공해주는 에디터나 IDE를 사용해야 합니다.

개발하려는 프로그램의 목적에 맞게끔 나와있는 좋은 에디터와 IDE가 많습니다. 취향에 따라 선택할 수 있을 정도로 많지요. 또한 늘 그렇듯이 프로그램 개발 환경은 앞으로도 더욱 발전할 것입니다.


그 중에서도 저는 웹 개발시 Sublime Text를 주로 사용하고 있는데 윈도우와 맥으로 환경을 자주 변경해야 하는 문제가 있어 설치한 테마라든지 플러그인 옵션들을 드랍박스를 통해 동기화 하곤 합니다.

어떤 플러그인은 지원하는 OS가 다르긴하지만 계속 사용해도 문제 없을 정도로 좋습니다. 


하지만.. 뭔가.. 내 것 아닌.. 내 것 같은 에디터 같은 느낌적인 느낌이 들곤합니다.. 

나도 겉멋만 들어 Vim 같은 에디터를 사용하여 Geek 스러운 느낌을 주고 싶은건지.. 가상 머신으로 리눅스 환경에서 할 수 있는 것이 많이 제약이 되어서 그런가.. 가끔식 충돌하는 Sublime Text 문제 때문에 그런지..

장인은 도구를 탓하지 않는 다지만;; 왜 인지는 저도 잘 모르겠습니다..

언젠가부터 Vim에 대한 욕구가 계속 상승하네요

그래서 Vim에 대한 자료 몇개를 찾았습니다.


1. 코드라이언 - http://codelion.net/weeks/overview/2  - 챕터 마지막에 문제도 제공하네요!

2. 손에 잡히는 VIM


손에 잡히는 VIM

저자
김선영 지음
출판사
인사이트 | 2011-03-31 출간
카테고리
컴퓨터/IT
책소개
더이상 검은색 창을 두려워할 필요가 없다!Vim은 유닉스 환경에...
가격비교

이렇게 두개를 먼저 보기로 했습니다. 손에 잡히는 VIM은 이제 막 1장을 넘겼구요~


일단 실제로 에디터를 접해보니 재밌네요. 색다르고. CUI 에디터라니 신기하기도 하고,,

앞으로 공부하다 얻은 팁들은 제 블로그에 틈틈히 남겨봐야 겠습니다.




'Vim' 카테고리의 다른 글

Vim 단축키 #2  (0) 2015.02.23