fold 4

Learn Vimscript The Hard Way - 49. Advanced Folding - part 3

Advanced Folding - part 3 해당 장은 매우 길기 때문에 시리즈로 작성할 예정이다. Advanced folding - part 1 Advanced folding - part 2 Advanced folding - part 3 Finishing the Fold Function 꽤 긴 챕터였으므로, 이제 슬슬 folding 함수를 마무리지어보자. GetPotionFold 함수를 다음과 같이 수정해보라. function! GetPotionFold(lnum) if getline(a:lnum) =~? '\v^\s*$' return '-1' endif let this_indent = IndentLevel(a:lnum) let next_indent = IndentLevel..

tools/vim 2020.05.03

Learn Vimscript The Hard Way - Advanced Folding : part 2

Advanced Folding - 2/3 해당 장은 매우 길기 때문에 파트를 나눠서 작성할 예정이다. 이전 장을 읽고 이어 읽기를 추천한다. Blank Lines 우선 특수한 케이스인 빈 줄을 먼저 살펴보자. GetPotionFold을 다음과 같이 수정하자. function! GetPotionFold(lnum) if getline(a:lnum) =~? '\v^\s*$' return '-1' endif return '0' endfunction우리는 if절을 추가하여 빈 줄(blank line)에 대해 처리하였다. 어떻게 동작하는 것일까? 먼저 우리는 getline(a:lnum)을 사용하여 현재 줄의 내용을 string으로 받았다. 이를 '\v^\s*$..

tools/vim 2020.05.02

Learn Vimscript The Hard Way - 49. Advanced Folding - part 1

Advanced Folding - 1/3 해당 장은 매우 길기 때문에 파트를 나눠서 작성할 예정이다. 저번 장에서는 vim의 indent 폴딩을 사용하여 potion 파일에 대해 빠르고 지저분한 fold를 추가하였다. factorial.pn을 열어서 zM으로 모든 폴딩이 닫혀있는 것을 확인하라. 해당 파일은 다음과 같아 보일 것이다. factorial = (n): +-- 5 lines: total = 1 10 times (i): +-- 4 lines: i string print 첫 번째 fold를 열면 다음과 같아진다. factorial = (n): total = 1 n to 1 (i): +--- 2 lines: # Multiply the running total. total. 10 times (i): ..

tools/vim 2020.05.01

vim fold 기본 사용법 - fold 없는 vim은 팥 없는 찐빵?

Vim fold fold는 아주 강력한 기능이다(고 하지만 나도 일상적인 코드 작성시에 fold를 잘 활용하고 있지는 않다.) 주변에 vim 사용자가 별로 없기도 하지만, 실제로 vim을 사용하면서 fold를 잘 활용하는 경우를 많이 보지 못했다. fold 기능 자체가 별로 필요가 없어서 그랬을 수 있지만, 매우 강력한 vim의 fold 기능을 잘 활용하지 못하고 있는 듯 하여 앞으로 fold를 잘 활용해 보기 위해 이번 포스트 시리즈를 작성하게 되었다. vim의 fold 기능과 해당 문서가 꽤 방대하기 때문에 위 글은 시리즈로 작성할 에정이다. 다음과 같은 방식으로 작성될 예정이다. 1. vim의 fold 기본 사용법 - fold 없는 vim은 팥 없는 찐빵 2. fold 활용하기 3. fold 저장/..

tools/vim 2020.04.28