Status Lines
vim에서는 각 window 아래에 있는 status line의 텍스트를 customize 할 수 있다. 보통 vim을 주 에디터로 사용한다면 vim-airline 등 플러그인을 사용중이라 이미 화려한(?) status line을 가지고 있을 것이다.
해당 챕터를 따라하기 위해서는 default vim으로 해 보거나 다른 vim config file (~/essential.vim
)를 만들어서 해당 설정 파일로 vim을 구동시키는게 좋다.
# 설정 없이 vim open
vim -u NONE
# 원하는 설정을 essential.vim에 넣어준다. number, relativenumber 등...
vim ~/essential.vim
vim -u ~/essential.vim
이제 statusline을 설정해 보자
다음은 file path를 statusline에 보여주는 명령어이다.
:set statusline=%f
혹시 statusline 이 보이지 않는다면
:set laststatus=2
를 입력해주자.
이제 FileType을 표시해보자. FileType은 %y
로 표시 가능하다.
:set statusline=%f\ -\ FileType:\ %y
그러면 다음과 같이 FileType이 표시된다.
백슬래쉬는 space를 escape 해주기 위해서 사용되었다.
statusline은 다음과 같이 +=
로 추가 가능하다.
:set statusline=%f " Path to the file
:set statusline+=\ -\ " Separator (백슬래쉬 뒤에 space가 한 번 씩 총 두 번 들어간다)
:set statusline+=FileType: " Label
:set statusline+=%y " Filetype of the file
다음은 statusline에 현재줄/전체줄 을 표시해준다. 한번 따라해보자
:set statusline=%l " Current line
:set statusline+=/ " Separator
:set statusline+=%L " Total lines
Width and padding
다음 명령어를 실행해보자
:set statusline=[%4l]
아까와는 다르게 현재 줄이 4칸을 차지하고 있다.
:set statusline=Current:\ %4l\ Total:\ %4L
그러면 요런 모습의 status line이 생긴다
Current: 12 Total: 223
space 대신 0을 패딩으로 넣어줄 수도 있다.
:set statusline=%04l
그럼 다음과 같은 모습이 된다. (별로 쓸 일은 없을듯하지만..)
0091
Splitting
vim-aireline 등을 보면 status line 오른편도 사용되는 것을 볼 수 있다. 이를 가능하게 해 주는 명령어는 %=
이다.
:set statusline=%f " Path to the file
:set statusline+=%= " Switch to the right side
:set statusline+=%l " Current line
:set statusline+=/ " Separator
:set statusline+=%L " Total lines
위 명령어를 실행시켜 보면 왼편에는 파일 이름이, 오른편에는 현재 줄 수가 표시된다.
Exercises
Skim the list of available codes in :help statusline. Don't worry if you don't understand some of them just yet.
Add some lines to your ~/.vimrc file to build yourself a custom status line. Be sure to use the += form of set to split the definition across multiple lines, and add a comment on each line to document what each piece does.
Try using autocommands and setlocal to define different status lines for different filetypes. Make sure to wrap the autocommands in groups to prevent duplication (as always).
'tools > vim' 카테고리의 다른 글
Learn vimscript the hard way - 19장. Variables (0) | 2020.03.24 |
---|---|
Learn vimscript the hard way: 18장 - Responsible Coding (0) | 2020.03.20 |
vim 마크다운 프리뷰에서 grammarly 사용하기: use grammarly online editor with vim markdown-preview.nvim (0) | 2020.03.16 |
learn vimscript the hard way 16: More Operator-Pending Mappings (0) | 2020.03.15 |
Add localleader in vim : backslach - vim localleader 추가하기 (0) | 2020.03.12 |