vim 55

터미널에서 vim 명령어 사용하기: Use vim in terminal (bash, zsh shell)

Use vim in terminal (bash, zsh shell) 기본으로 터미널 단축키는 emacs 단축키와 동일한 방식의다. 나는 vim을 주로 사용하기 때문에 터미널에서도 vim 단축키를 사용한다. normal 모드를 지원하기 때문에 훨씬 편하게 터미널에서 명령어를 작성할 수 있다. set -o vi 쉘 시작시마다 적용시키려면 zshrc나 bashrc에 추가해주면 된다. normal mode, visual mode, insert mode를 모두 지원한다. vim과 동일하게 사용 가능 normal mode: esc insert mode: i, a (I, A) visual mode: v, V j, k로 명령어 히스토리 이동 (방향키) ciw, c$ 등 거의 모든 vim 명령어를 지원한다.

tools/linux 2021.01.04

Emacs의 Orrg-mode를 vim에서도? Vim-orgmode

Vim org-mode vim org mode kor 나는 Emacs를 써 본 적이 없다. (사실 쓰는 사람도 딱 한 명을 제외하고는 본 적이 없다. 해외로 나간 그 분은 잘 지내시는지..) 하지만 Emacs의 많은 모드에 대해서는 들어본 적이 있다. 그 중에서도 org 모드는 todo list 등 모든 기록을 Emacs로 해 줄 수 있게 하는 모드이다. vim-orgmode는 이런 orgmode를 vim에서 사용할 수 있게 해 주는 모드이다. Org mode is for keeping notes, maintaining TODO lists, planning projects, and authoring documents with a fast and effective plain-text system. I us..

카테고리 없음 2020.06.14

Learn Vimscript The Hard Way 후기/리뷰(review)

Learn vimscript the hard way를 읽은 뒤의 후기 개발을 처음 시작하였을 때 부터 vim을 사용하기 시작하였지만 "Practical Vim", "Pro vim" 등 몇몇 책을 보거나 vimgolf, vim-adventure (vim을 하는 게임)을 해보기는 했지만 vim을 제대로 공부해본 적은 없었다. 그러다 보니 항상 사용하는 명령어만 사용하거나 모르는 것이 생기면 그때 그때 찾아서 사용하는 정도였다. 그러던 중 회사에서 Google BigQuery를 도입하는 일이 생겼다. 기존에는 postgres를 사용하여기 때문에 postgres client로 터미널 환경에서 쿼리를 날리기가 쉬웠지만, BigQuery는 무조건 웹 콘솔을 사용해야 하는 문제가 있었다. DBeaver, Datagr..

tools/vim 2020.05.24

Learn Vimscript The Hard Way - 56. What Now?

What Now? 여기까지 모든 예시와 exercise를 풀었다면 이제 꽤 기본적인 vimscript를 알게 되었을 것이다. 아직 배울 게 많으니 걱정하지 마라 (?) 더 공부하고 싶은 사람들을 위한 몇몇 토픽을 소개한다. Color Schemes 이 책의 앞 장에서 우리는 Potion 파일에 대한 syntax highlighting을 추가하였다. syntax highlighting의 짝은 각 syntax가 어떤 색깔이 될 것인지에 대한 custom color scheme을 만드는 것이다. vim의 color scheme 꽤 직관적이고, 약간은 반복적이다. :help highlight를 읽어보자. 몇몇 built-in coloer scheme을 보고 구조가 어떤지 확인할 수 있을 것이다. 도전할 것을 찾..

tools/vim 2020.05.12

Learn Vimscript The Hard Way - 55. Distribution

distribution 이제 당신은 다른 많은 사람들이 유용하다고 생각갈 만한 빔 플러그인을 만들 수 있는 vimscript skill을 익혔다. 이 챕터는 그 플러그인을 어떻게 올려 다른 사람들이 쉽게 사용할 수 있게 할지에 관해 다룰 것이다. Hosting 가장 먼저 할 일은 플러그인을 온라인에 올려 사람들이 다운로드 할 수 있게 하는 것이다. vim plugin이 사는 canonical place는 vim 웹사이틔의 scritp secion이다 웹사이트를 위해서는 계정이 필요하다. 이는 아주 간단하다. 최근 몇 년 간 플러그인을 배포하는 트렌드는 Bitbucket이나 Github같은 퍼블릭 레파지토리에 배포하는 것이다. 이른 방식이 유행이 된 데에는 두가지 이유가 있다. 먼저 pathogen같은 플..

tools/vim 2020.05.11

Learn Vimscript The Hard Way - 54. Documentation

Documentation 우리의 포션 플러그인은 이제 많은 기능들로 가득 차 있지만, 이를 document화 시키지 많으면 사람들이 사용하지 못하기 때문에 쓸모가 없을 것이다. vim의 자체 documentation 기능은 아주 강력하다. 이는 아주 장황하지 않고, 철두철미하다. 또한 플러그인 저자로 하여금 document를 작성할 수 있게 영감을 주어 vimscript 커뮤니티에 강력한 documentation culture를 이뤄내었다. How Documentation Works vim에서 :help를 읽으면 몇몇 항목들은 다르게 하이라이트 된 것을 볼 수 있을 것이다. 이것이 어떻게 작동하는지 살펴보자. 아무 help 토픽을 열고 (:help help와 같은) :set filtype?을 실행시켜보자..

tools/vim 2020.05.10

Learn Vimscript The Hard Way - 53. Autoloading

Autoloading 이제 우리는 우리의 Potion 플러그인에 꽤 많은 기능을 추가하였다. 마치기 전에 중요한 기능을 더 추가하여 더 빛나게 만들어보자. 먼저 우리는 autoloading 기능을 추가하여 플러그인을 더 효율적으로 만들어 볼 것이다. How Autoload Works 지금은 유저가 플러그인을 로드하면 (Potion 파일을 열면) 모든 기능이 한 번에 로드된다. 우리의 플러그인은 아직 작기 때문에 큰 문제가 되지 않지만, 큰 플러그인의 경우 모든 코드를 로드하는 데에는 꽤 많은 시간이 소요된다. vim은 "autoload"를 사용하여 이 문제를 해결한다. Autoload는 코드 로딩을 실제로 필요할 때로 지연시킨다. 전체적으로는 별로 큰 퍼포먼스 향상이 이뤄지지 않을 수 있지만, 사용자가 ..

tools/vim 2020.05.09

Learn Vimscript The Hard Way - 52. External Commands - part two

External Commands - part two 해당 장도 두 포스트로 나누어서 작성하였다. 1부를 읽고 읽기를 권장한다. Displaying Bytecode Potion 컴파일러는 컴파일 되었을 때 생성되는 bytecode를 볼 수 있게 해주는 옵션을 제공한다. 이는 아주 low-level에서 디버깅을 하기 쉬워진다. 쉘에서 다음 명령어를 실행해보자. $ potion -c -V factorial.pn -- parsed -- code ... -- compiled -- ; function definition: 0x109d6e9c8 ; 108 bytes ; () 3 registers .local factorial ; 0 .local print_line ; 1 .local print_factorial ; ..

tools/vim 2020.05.08

Learn Vimscript The Hard Way - 52. External Commands - part one

External Commands - part one 해당 장도 두 포스트로 나누어서 작성할 예정이다. Vim은 UNIX의 "do one thing well" 철학을 따른다. 에디터에 필요한 기능을 쑤셔넣는 대신에, vim은 적절한 외부 커맨드를 선정하여 일을 위임한다. Potion 컴파일러와 interaction을 만들어서 vim의 외부 커맨드에 발을 담궈보자. Compliling 우리는 먼저 현재 potion file을 컴파일하여 실행하는 명령어를 추가할 것이다. 아주 많은 방법이 있지만, 지금은 간단하게 외부 커맨드를 사용하도록 하자. potion/ftplugin/potion/running.vim을 플러그인 레파지토리에 만들자. 이는 potion 파일들의 compiling과 running과 관련된 매..

tools/vim 2020.05.07