반응형


Vim 에디터를 사용할 때 기본적으로 사용하는 옵션에 대해서 알아보자.

1. 편집기 좌측에 라인숫자 표시.
2. 편집기 사용시 기본적인 문법 검사.
3. 자동으로 들여쓰기
4. Tab의 크기, 블록 이동시 열의 넓이

 명령어  설명  모드
 :set  현재 에디터에 셋팅된 옵션 목록을 볼 수 있다.
:set all 라고 명령하게 될 때 vim에서 셋팅할 수 있는 모든 옵션의 종류를 볼 수 있다.
 명령행 모드
 :set #  # 써있는 속성을 on 할수 있다. no# 라고 할 경우 해당 속성을 off 시킬 수 있다.
 #! 이라고 할 경우 해당 값이 반전 된다(on/off)
 명령행 모드
 :set #=값  속성중에 특정 값을 갖는 속성들이 있다. #속성들의 특정한 value 값을 대입하기 위해서 사용한다.  명령행 모드

해당 옵션 값을 설정할 때 앞에 :set을 붙여야 한다.
ex) :set nu

 nu 또는 number  화면에 라인의 숫자를 표시한다.   명령행 모드
 ai 또는 autoindent  자동 들여쓰기를 쓴다. (sw로 설정한 값으로)   명령행 모드
 cindent  C언어 스타일의 들여쓰기를 사용.
(sw로 설정한 값으로)
  명령행 모드
 ts=값 또는 tablestop=값  탭(Tab) 크기를 지정하는 값으로 지정한다.   명령행 모드
 sw=값 또는 shiftwidth=값  블록 이동시 지정하는 열의 너비.   명령행 모드

해당 옵션을 셋팅할 때는 :set을 붙이지 않는다.
 :syntax enable  문법검사를 실시한다. (지정된 색깔테마로)  명령행 모드
 :syntax clear  문법검사를 해제한다.  명령행 모드
 :colorscheme  에디터에 색깔 테마를 지정한다.  명령행 모드

------------------------------------------------------------------------------------------------------------------------------------


아래의 그림 파일은 색깔 테마와 문법 검사 그리고 행 표시를 하지 않은 경우이다.




:set nu     (라인 표시)
:syntax enable     (문법 검사 on)
:colorscheme default      (색깔 테마 on)
(참고로 색깔 테마는 16가지 정도가 더 있으므로 colorscheme라고 친 뒤 한 칸을 띄고 ctrl+D를 치면 셋팅 가능한 다른내역을 확인할 수 있다)

를 한 뒤 확인해 보면 아래 문법이 틀린 부분은 색깔이 다르게 표시되거나 강조가 되어 있어서 편집과 동시에 확인할 수 있다.
또한 화면 좌측에 라인에 행별로 라인의 숫자가 표시 된 것을 확인 할 수 있다. 우분투의 경우 syntax와 colorscheme가 기본적으로 셋팅되어 있으니 별도로 셋팅해주지 않아도 괜찮다. 하지만 만약에 꺼져 있을 때 아래의 옵션 셋팅 내용을 기억해 두자.



또한 편집하다가 대괄호를 치고 Enter 키를 치면 행의 처음으로 돌아가게 때문에 자동으로 들여쓰기 등을 옵션으로 셋팅해놓으면 좀 더 편리하게 편집할 수 있다. 또한 그 값도 적당하게 조절해 놓으면 좀 더 손쉽고 편리하게 자신에게 최적화 하여 편집할 수 있게 된다.
이번에는 tablestop(ts) 값과 shiftwidth(sw) 값을 조정하면 어떻게 변화하는지 확인해보면

:set sw=20       (들여쓰기 값 20)
:set ts=2         (탭 크기 2)
:set cindent    (C언어 스타일의 들여쓰기)

일부로 printf 문만 들여쓰기로 하고 나머지는 tab으로 진행해 보았다. int나 for의 경우는 왼쪽 끝과 2칸 정도 밖에 차이나지 않지만 printf문 이후로는 엔터를 쳐서 들여쓰기를 했더니 중괄호로 부터 20의 넓이만큼 벌어져 있는 것을 확인할 수 있다.




:set 을 치면 현재 편집기에 셋팅된 옵션 내용을 확인 할 수 있는데
현재 확인해보면
cindent
tabstop=2
syntax=c
shiftwidth=20
등이 셋팅 되어 있는 것을 확인 할 수 있겠다.



------------------------------------------------------------------------------------------------------------------------------------
그럼 이렇게 편집기를 열때마다 해당 내역을 저장해야 하는가?
다행이 vim 에디터는 처음 실행될때 자신의 홈디렉토리에 .vimrc 파일을 로드하여 기록되어 있는 내용을 먼저 로드한다.
따라서 내가 항상 위의 내역을 저장해 놓고 사용하고 싶다면. 자신의 홈디렉토리로 가서 .vimrc 파일을 생성(혹은 수정)하여 위의 내용을 기록해서 사용하면 된다.

주의할 사항은 콜론은 사용하면 안됀다. 아래와 같이 셋팅하여 사용하면 되겠다.
파일명은 .vimrc 이다.   . 을 빼먹으면 안됀다.


 

반응형
반응형

------------------

알아두면 더욱 편리한 Vim 에디터 기본 입력키 2번째.
Advanced.


 명령어  설명 모드 
 ^  행의 맨 처음으로 이동 하지만 공백은 제외.  일반모드
 Home키  행의 맨 처음으로 이동.  일반모드
 $  행의 맨 끝으로 이동 (End 키와 같음).  일반모드
 ctrl + B  위로 한 화면 스크롤(PageUP키와 같음).  일반모드
 ctrl + F  아래로 한 화면 스크롤(PageDown키와 같음).  일반모드
 ctrl + U  위로 1/2 화면 스크롤.  일반모드
 ctrl + D  아래로 1/2 화면 스크롤.  일반모드
 #gg  #행으로 이동. 없을 시 맨 처음으로 이동.  일반모드
 #G  #행으로 이동. 맨 마지막으로 이동.  일반모드
 :#  #행으로 이동.  명령행 모드
 ctrl - G, g  현재 문서의 위치정보를 하단에 표시.  일반모드
 :d  현재 행을 잘라내기.  명령행 모드 
 D  현재 위치에서 현 행의 끝부분까지 잘라내기  일반모드
 J  아래 행을 현재 행의 끝에 붙임.
(아래행의 공백은 무시)
 일반모드
 :pu  p와 같은 기능. 현재 행에 붙여넣기.  명령행 모드
 P  현재 행 위에 붙여넣기.  일반모드
 :y  현재 행을 레지스터에 복사.  명령행 모드
 Y  현재 행을 레지스터에 복사.  일반모드
     


범위 지정에 사용하는 특수 기호와 사용법
 .  현재 행.  메타 문자
 $  마지막 행.  메타 문자
 %  문서 전체.  메타 문자
 +#  현재 위치에서 #만큼 아래 행을 의미.  메타 문자
 -#  현재 위치에서 #만큰 위의 행을 의미.  메타 문자
 :10, 25d  10행에서 25행까지 잘라내기.  명령행 모드
 :%y  문서 전체 복사. (%는 1,$와 동일하다)  명령행 모드
 :.,+20y  현재 행부터 아래로 20행을 복사.  명령행 모드
 :-10,+5d  현재 행부터 위로 10행, 아래로 5행 삭제.   명령행 모드
 :40pu  40번 행에서 레지스터의 내용을 붙여넣기.   명령행 모드

 v  일반 비주얼 모드로 현재 커서 위치에서 블록을 지정.  일반 모드
 V  비주얼 라인 모드. 현재 커서가 위치한 행에서 행 단위로 블록을 지정.  일반 모드
 ctrl-V  비주얼 블록 모드로, 열(Column) 단위로 블록을 지정. ctrl-Q로 대신 할 수 있음.  일반 모드



반응형

+ Recent posts