Byeo

3. Vimrc-2 (UI) 본문

프로그래밍 (Programming)/Vim

3. Vimrc-2 (UI)

BKlee 2021. 7. 9. 01:30
반응형

3. Vimrc-2 (UI)

목차

줄 번호 표시하기

Typing 중인 명령어 표시

현재 cursor에 밑줄 긋기

현재 row, col 표기

wildmenu 표시

검색 결과 highlight

즉시 검색하기

Vim 정렬

 

 

 

이번 포스트에서는 UI configuration과 관련된 내용들을 간단하게 다뤄보고자 합니다.


줄 번호 표시

set number  (<-> set nonumber)

set number 명령어를 통해 좌측에 줄 번호 표기 여부를 바꿀 수 있습니다.

 


Typing 중인 명령어 표시

set showcmd 

set showcmd 명령어는 맨 밑줄에 현재까지 친 커맨드를 보여줍니다. d2d 와 같이 1글자 이상의 command를 사용할 경우, 지금까지 무엇을 타이핑 했는지 쉽게 알 수 있겠죠.

 


현재 Cursor에 밑줄 긋기

set cursorline

set cursorline을 사용하면 현재 커서의 위치에 밑줄을 길게 그어줍니다. 많은 창을 왔다 갔다 하면서 코딩할 때 조금 더 빠르게 위치를 찾을 수 있습니다.

 


현재 row, col 표시

set ruler

row, byte위치-화면 상col위치

 

byte위치와 화면 상 col위치가 다른 경우는 tab과 같이 하나의 byte가 여러 column을 차지하는 경우가 있습니다. 만약 처음에 tab을 사용하여 시작하셨다면, 1-8과 같이 표기됩니다.


Wildmenu 표시

set wildmenu

wildmenu를 키면 명령어의 부분만 입력해 놓아도 tab을 통해 어떤 메뉴가 가능한지 visual로 보여줍니다. :set co까지 치고 tab을 누르시면 아래와 같이 그 이하의 가능한 명령어들을 표시해줍니다.


검색 결과 highlight

set hlsearch

찾기를 수행했을 때, 일치하는 단어들을 highlight 해줍니다.


즉시 검색

set incsearch

원래 /<찾을 단어> 명령어를 모두 입력하고 enter를 쳐야지만 검색이 시작됐습니다. 그러나 위 명령어를 사용하면 enter를 칠 필요 없이, 매 typing마다 단어를 검색해줍니다.


Vim 정렬

filetype indent on

file 확장자에 맞추어 indent 문법을 지정합니다. vim을 설치할 때 기본적으로 여러 확장자에 대해서 indent file이 설치됩니다. 일단 저는 /usr/share/vim/vim80에 있네요.

아래 명령어를 통해서 vim runtime path를 확인할 수 있습니다.

:!echo $VIMRUNTIME

그 아래 indent folder를 확인해보면 정말 다양한 언어들에 대해서 indentation 규칙을 정의해 놓은 것을 확인 할 수 있습니다! (마찬가지로 syntax folder에도 다양한 언어의 문법들을 정의해 놓았습니다.)

 

이렇게 filetype에 맞는 indent 규칙을 확인해서 indentation을 수행할 수 있습니다.

아래 키로 말이죠!

gg=G

gg는 문서의 처음, =는 indent, G는 문서의 끝을 의미합니다.

이 명령어 말고도

4==

와 같이 현재 커서로부터 4개의 줄을 indent 시킬 수 있습니다.

 

다만, filetype indent off와 filetype indent on의 차이를 명확하게 파악하지는 못했습니다. vim에 대해서 더 들여다 보고 알게 되면 다시 적겠습니다.


다음 포스트에서는 코딩의 편의성을 늘려줄 수 있는 folding에 대해서 다뤄보겠습니다.

반응형

'프로그래밍 (Programming) > Vim' 카테고리의 다른 글

6. Vimrc-5 (Space & Tab)  (0) 2021.07.27
5. Vimrc-4 (편집 위치 불러오기)  (0) 2021.07.15
4. Vimrc-3 (Folding)  (0) 2021.07.12
2. Vimrc-1 (테마)  (0) 2021.07.08
1. Vim 기초  (0) 2021.07.02
Comments