본문 바로가기

리눅스

Vim에서 YAML 파일을 편집하기 위한 설정(vi/vim 환경 설정)

728x90

Vim에서 YAML 파일을 편집하기 위한 설정(vi/vim 환경 설정)

1. Vim 설정 파일 열기 또는 생성

vim 에디터로 yaml 파일 작성 시 인덴트 및 하이라이팅, 들여쓰기 등 기능을 사용하여 효율적으로 작성할 수 있다.

.vimrc 파일 편집

~/.vimrc 파일이 이미 있는 경우 해당 파일을 엽니다. 그렇지 않으면 새로 생성할 수 있습니다.

 vim ~/.vimrc

2. YAML 문법 강조 설정

YAML 파일의 문법을 강조하기 위해 filetype 플러그인을 활성화합니다.

autocmd FileType yaml setlocal ts=2 sw=2 expandtab
au FileType yaml noremap <leader>f :!python -c "import sys,yaml;yaml.safe_load(sys.stdin)" < % <CR>
  • ts=2 및 sw=2는 들여쓰기 간격을 2로 설정합니다.
  • expandtab는 탭 대신 공백을 사용합니다.
  • !python -c ...은 현재 YAML 파일의 유효성을 확인하는 Vim 명령을 추가합니다. 이 명령은 f 키 시퀀스를 사용하여 실행됩니다.

3. 추가 설정

YAML 편집을 향상시키기 위해 다음과 같은 Vim 플러그인을 설치하고 설정에 추가할 수 있습니다.

  • YAML Syntax Highlighting: Vim에서 YAML 문법을 강조하는 플러그인을 설치하여 YAML 파일의 가독성을 향상시킬 수 있습니다.
  • Auto-pairs 플러그인: 괄호 및 따옴표와 같은 문자를 입력할 때 자동으로 짝을 맞춰주는 플러그인을 설치하고 설정 파일에 추가하여 편집 속도를 향상시킬 수 있습니다.

이제 Vim을 실행하여 YAML 파일을 열면 설정이 적용됩니다. YAML 문법 강조, 들여쓰기 및 다른 설정을 통해 YAML 파일을 효율적으로 편집할 수 있을 것입니다.

728x90

vim option summary 확인하는 방법

vim
:help option-summary

v1
v2

vim editer 설정

vi ~/.vimrc
$ cat ~/.vimrc 
" Begin .vimrc
set nowrap                              " don't wrap lines
set tabstop=4                           " a tab is four spaces
set backspace=indent,eol,start          " allow backspacing over everything in insert mode
set autoindent                          " always set autoindenting on
set copyindent                          " copy the previous indentation on autoindenting
set number                              " always show line numbers
set shiftwidth=4                        " number of spaces to use for autoindenting
set shiftround                          " use multiple of shiftwidth when indenting with '<' and '>'
set showmatch                           " set show matching parenthesis
set ignorecase                          " ignore case when searching
set smartcase                           " ignore case if search pattern is all lowercase, case-sensitive otherwise
set smarttab                            " insert tabs on the start of a line according to shiftwidth, not tabstop
set hlsearch                            " highlight search terms
set incsearch                           " show search matches as you type
set history=1000                        " remember more commands and search history
set undolevels=1000                     " use many muchos levels of undo
set wildignore=*.swp,*.bak,*.pyc,*.class
set title                               " change the terminal's title
set visualbell                          " don't beep
set noerrorbells                        " don't beep
set nobackup

" --- vim map (macro) commands ---
func! Remarkon()
exe "'<,'>norm i#"
endfunc

func! Remarkoff()
exe "'<,'>norm 2x"
endfunc
" Begin .vimrc

Ctrl + V (VISUAL BLOCK) ;주석 처리할 부분 선택

:'<,'> ;'<,'> 삭제

주석 ON

:call Remarkon()

주석 OFF

:call Remarkoff()

 

참고URL

- vimhelp : https://vimhelp.org/options.txt.html

- yaml 편집을 위한 vi/vim 설정 (vi/vim 환경 설정) : https://scbyun.com/1348

- Vim Editor 설정 및 사용법 : https://scbyun.com/694

- VI & VIM 명령어 : https://scbyun.com/391

 

728x90