tools/vim 92

Learn Vimscript The Hard Way - 20: Conditional

Conditional Vimscript에서는 if문을 통해 조건절을 사용한다. Multiple-Line Statements Vimscript에서 한 줄로 코드를 처리하기 힘든 경우에는 여러 줄 로 쓸 수도 있지만, pipe character (|)를 사용할 수도 있다. :echom "foo" | echom "bar"책의 나머지 부분에서 예시 코드를 실행할 때 newline을 사용하기 싫은 경우 pipeline을 사용해서 작성이 가능하다. Basic If :if 1 : echom "ONE" :endifinteger 1을 true로 인식하여 ONE이 반환된다. :if 0 : echom "ONE" :endif0도 대부분의 프로그래밍 언어와 비슷하게 false로 인식. 특이한 점은 string을 true로 인식..

tools/vim 2020.03.27

Learn Vimscript The Hard Way - 20. Variable Scoping

Variable Scoping 전 장 19. Variable에서 본 것처럼 Vimscript의 변수는 Python이나 Ruby 같은 동적 타입 언어와 거의 흡사하게 동작한다. 하지만 vimscript의 scoping은 기대와 조금 다르게 동작한다. :let b:hello = "world" :echo b:hello위 명령어를 실행해보면 정상적으로 world가 반환된다. 이제 다른 버퍼를 열어서 (:tabnew나 :new) 다시 echo 명령어를 실행해보자. :new :echo b:hello정의되지 않은 변수라는 에러가 반환된다. E121: Undefined variable: b:hellob: prefix를 변수와 함께 사용하면 현재 버퍼에서만 local va Variable로 정의된다. 다른 scope들도..

tools/vim 2020.03.25

Learn vimscript the hard way - 19장. Variables

Variables :let foo = "bar" :echo foo :let foo = 42 :echo 42vimscript는 동적 타입 언어라는 것을 볼 수 있다. Options as variable special syntax로 option을 set 할 수 있다. variable 앞에 & 기호를 써서 변수가 아니라 option이라고 명시해 줄 수 있다. :set textwidth=80 :echo &textwidthboolean 옵션도 마찬가지. 1과 0이 반환되는 것을 볼 수 있다 :set nowrap :echo &wrap " display 0 :set wrap :echo &wrap " display 1위에서 변수를 지정하는 let 명령어를 사용해서도 option을 변경할 수 있다. :let &textw..

tools/vim 2020.03.24

Learn vimscript the hard way: 18장 - Responsible Coding

Responsible Coding 지금까지는 vimscript 자체보다는 vim과 vimrc에 넣을 설정들 위주로 설명되어 있었는데, 이 챕터부터는 본격적으로 vimscript에 대한 설명이 시작된다. 이번 챕터는 "어떻게 vimscript를 작성하면서 제정신을 유지하는지" (...)에 관한 챕터이다. (악명높은 vimscrip..) Commenting vimscript의 옵션과 코멘드들은 읽기 힘들기 때문에 주석을 많이많이 달아주자! Grouping ~/.vimrc에 추가한 매핑들은 사용하기 편하지만 점점 많아지면서 관리가 힘들어 질 수 있다. 이를 해결하기 위해 코드 라인과 섹션을 그룹화하고 folding해주자 vimscript 파일에서 fold를 사용하려면 다음 명령어를 추가해주자 augroup f..

tools/vim 2020.03.20

learn vimscript the hard way - 17장. status line

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이제 statu..

tools/vim 2020.03.18

vim 마크다운 프리뷰에서 grammarly 사용하기: use grammarly online editor with vim markdown-preview.nvim

나는 영문으로 글을 작성할 때 grammarly 라는 도구를 애용한다. 무료로 여러 브라우저의 플러그인을 제공해 주고, 브라우저에서 텍스트 작성시 단순한 스펠 체크 이외에도 다양한 문법을 체크해 주기 때문이다. 하지만 나는 많은 글들을 vim으로 적기 때문에, vim에서도 grammarly를 사용하고 싶다는 마음에 브라우저로 프리뷰를 제공해 주는 markdown-preview.nvin에 grammarly를 활성화 시켜보기로 하였다. 우선 사용하려는 브라우저에 grammarly 플러그인을 설치한다. 각 브라우저 플러그인 페이지에서 설치 가능하다. grammarly for chrome grammarly for firefox grammarly 플러그인은 브라우저의 텍스트필드에서만 활성화 되기 때문에, mark..

tools/vim 2020.03.16

learn vimscript the hard way 16: More Operator-Pending Mappings

More Operator-Pending Mappings Topic One ========= This is some text about topic one. It has multiple paragraphs. Topic Two ========= This is some text about topic two. It has only one paragraph.:onoremap ih :execute "normal! ?^==\\+$\r:nohlsearch\rkvg_"위 명령어는 ======== 헤더 아래의 모든 문단에 대한 mapping이다. onoremap ih 에 대해서는 저번 챕터에서 설명하였으니 나머지 명령어를 아래에서 설명할 예정 Normal normal command는 이후에 친 모든 command를 norm..

tools/vim 2020.03.15

Add localleader in vim : backslach - vim localleader 추가하기

일반적인 빔 명령어는 leader를 주로 사용하지만, 몇몇 플러그인에서 leader 키와의 충돌을 줄이기 위해 localleader를 사용하기 때문에 지정해 두는 것이 좋다 나는 leader 키로 쉼표 (,)를 사용하고, localleader 키로는 백슬래쉬 \를 사용한다. (딱히 별 이유는 없고, learn vimscript hard way에서 이렇게 사용한다길래... 백슬래쉬는 조금 불편한 것 같기도 하다) 설정을 위해서는 vim 설정 파일에 다음을 추가해준다 (보통 ~/.vimrc) let maplocalleader = "\\" 빔을 재실행하거나 설정을 적용시키면 (so %) 백슬래쉬를 localleader 키로 사용 가능하다. > English contents below 더보기 i use comm..

tools/vim 2020.03.12