💡 필자가 책을 읽고, 몰랐던 부분이나, 특별히 메모할만한 내용을 추출하여 기록한 포스팅입니다. 책 내용 외에 추가 설명을 덧붙인 부분들이 있습니다. [학교에서 알려주지 않는 17가지 실무 개발 기술] 구매하러 가기 ⬇ HTML 삽입 미리보기할 수 없는 소스 "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다." 이전 포스팅(⬇)에서 이어집니다. [책장파먹기] 학교에서 알려주지 않는 17가지 실무 개발 기술 Part1 요약 8. JSON 8.1. JSON 특징 문자열 인코딩 JSON 규격은 UTF-8 문자열 인코딩만 허용하며, BOM(Byte Order Mark)을 허용하지 않습니다. 따라서, UTF-16(멀티바이트) 환경인 윈도우나 자바, EUC-KR 을 사용하는 환..
광고 없는 청정 블로그 블로그의 설립 초기부터 '광고 없는 청정 블로그'를 지향해왔습니다. 지인이 운영하는 개발블로그는 하루 1000명 정도의 유입자를 통해서 1년에 10만원 수준의 광고수익을 얻는다는 얘기를 들었던 기억이 있습니다. 제 블로그는 일 방문자가 50~150 정도이기 때문에, 지인의 블로그에 비하면 방문자수가 1/10 수준이고, 광고 수익도 그만큼 크지 않을 것이었죠. 그래서 그정도 수익을 내느니, 청정블로그로 운영하겠다는 생각을 했었던 것이었죠. 하지만, 문득 내 블로그에 광고가 들어가면 얼마나 수익을 낼 수 있을지 궁금해졌습니다. (맞습니다. 사실 돈독이 올랐습니다.) 카카오 애드핏 연동기 그러다가 우연히 '카카오 애드핏'이라는 기능을 티스토리 블로그 관리자페이지에 확인하게 되었습니다...
Vim 생태계에는 surround 라는 플러그인이 존재한다. 이는 vim 에서 괄호를 컨트롤할 수 있는 강력한 기능을 제공한다. https://github.com/tpope/vim-surround GitHub - tpope/vim-surround: surround.vim: Delete/change/add parentheses/quotes/XML-tags/much more with ease surround.vim: Delete/change/add parentheses/quotes/XML-tags/much more with ease - GitHub - tpope/vim-surround: surround.vim: Delete/change/add parentheses/quotes/XML-tags/much mor..
이번 시간에는 Vim 에서 어떻게 '찾아 바꾸기'를 하는지 알아보도록 하자. 'Vim 에서 찾기' 기능은 앞선 '기본조작'편에서 이미 알아보았다. '찾기'는 [The Vim Way] 09 Vim 기본조작 - Vim 문자열 찾기 편에서 알아볼 수 있다. Vim 찾아 바꾸기 요즘 IDE 또는 텍스트에디터에서는 '찾아 바꾸기'는 매우 기본적으로 탑재되어있는 기능 중에 하나이다. 특히 jetbrains 계열의 IDE 에서는 정규표현식, 대소문자 구분 여부, 단일 단어 여부에 따라 찾기 및 찾아바꾸기 기능을 지원한다. 즉, vim 에서 제공하는 찾아바꾸기를 굳이 이용할 이유가 없는 것도 사실이지만, original vim 을 이용해야하는 상황이거나, 범위를 지정하여 찾아바꾸기를 진행해야 하는 경우 등의 상황이라면..
드디어 Vim 의 궁극기 Macro 를 살펴볼 차례다. Vim 매크로 Macro 는 Vim 명령어'들'을 기록하고, 이를 반복할 수 있는 기능이다. 이전에 Vim Micro Macro(dot command)를 활용해서 이전 명령을 바로 반복할 수 있었다. 그러나, 이는 이전 명령을 반복할 뿐, '이동 후 명령' 과 같은 작업에 대해서는 그 반복이 불가능하다. 매크로가 필요한 순간 가령 다음 스크린샷의 좌측과 같은 코드가 있다고 가정해보자. 이를 오른쪽 코드와 같이 바꾸고자 한다. javascript 에서 key 를 그대로 value 에 넣은 뒤 이를 대문자로 바꾸려고 한다. 일단, jazz 가 포함된 라인(2번줄)에서 vim 을 활용하여 이 과정을 진행해보자. 다음과 같이 기존 코드를 변경할 것이다. /..
viEmu VIM Cheat Sheet Vim Cheat Sheet 라고 검색해보면, 많은 자료가 나오는데, 그 중 가장 눈에 띄는것은 다음 치트시트일 것이다. viEmu Cheat Sheet 는 키보드의 모든 키스트로크에 의미를 적어놓아, 한 눈에 Vim 의 모든 기능을 파악하기에 용이하다. 또한, 7 스테이지로 Vim 을 차근차근 학습할 수 있도록 그 중요도와 목적에 따라 기능을 구분해놓았다. 이 포스팅에서는 7개의 각 Lesson 의 주요 내용을 정리함과 동시에, 본 연재의 관련 링크를 걸어두었다. http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html Graphical vi-vim Cheat Sheet and Tutorial Graph..
Vim 에서 되돌리기(undo)와 재실행(redo) Vim 에서는 '되돌리기' 동작을 Normal Mode 의 `u` 키로 수행할 수 있다. `u`를 입력하는 순간 직전에 수행했던 명령들이 되돌려진다. 다음 스크린샷은 되돌리기 및 재실행 동작이 어떻게 수행되는지를 보여준다. 먼저 숫자 100을 200으로 바꾼 뒤, `+=` 연산자를 `-=` 으로 변경하고, sum 변수명을 total 로 변경하는 과정을 진행한 뒤, 되돌리기(`u`)와 재실행(`ctrl + r`)을 수행한 장면이다. Vim 되돌리기와 명령블록 Vim 에서 되돌리기를 할 때에는 '명령 블록' 단위로 되돌리기가 수행된다는 점이 중요하다. 우리가 일반 에디터에서 Ctrl + z 로 되돌리기를 하던 것과는 그 느낌이 다르다. 이 명령블록을 이해하..
Vim n번 명령 반복하기 Normal 모드에서 숫자를 입력한다는 것 Vim Normal Mode 에서 숫자를 입력하면 상태표시줄에 숫자가 입력되는 것을 확인할 수 있다. 이것은 이렇게 입력된 숫자 이후에 입력되는 명령이 반복될 횟수를 지시한다. 이런 방식으로 Vim 에서는 대부분의 명령어를 n회 반복할 수 있다. 명령어를 수행하기 전에 숫자를 미리 입력하고 명령을 수행하면, 해당 명령이 입력한 숫자만큼 반복되는 것이다. 붙여넣기 반복하기 다음 예제는 한 줄을 복사하여 13회 붙여넣는 예제이다. 붙여넣는 명령어 `p` 앞에 13을 먼저 타이핑했고, 실제로 `p` 명령어가 13회 수행되는 것을 확인할 수 있다. 줄 삭제 반복하기 5줄을 연이어 삭제하고자 할 때는 어떻게 할지 상상해보자. 가장 직접적인 방법..
Vim Micro Macro Vim Normal Mode 에서 이동 명령을 제외한 대부분의 명령은 하나의 '명령 블록'이다. 이 '명령 블록'은 재실행이 가능하다. 이전에 수행한 명령을 그 즉시 반복하고자 할 때, Micro Macro 를 활용하면, 키 입력 하나로 그 명령을 반복할 수 있다. Micro Macro 는 Normal Mode 에서 .키를 입력하는것으로 수행이 가능하다. 이전에 무엇을 행했듯, 그것은 Vim 에게 하나의 명령이고, 그 명령을 그대로 재실행하는 것이 Vim Micro Macro - Vim 마이크로 매크로다. 사실 거의 모든 명령에 대해 Micro Macro(Vim 점 명령어) 가 적용되기 때문에, 모든 예시를 다루기는 어렵고(사실 불가능하고) 여기서는 몇가지 코딩에 도움이 될만..
현대 텍스트 에디터는 모두 찾기 기능을 갖고 있다. 윈도우 기준으로 보통 F3 이나, Ctrl + F 로 찾을 수 있고, 바꾸기는 Ctrl + R 단축키로 대부분 실행된다. Vim 에서도 찾기 기능을 제공한다. Vim 문자열 찾기 vim 에서 문자열을 찾는 방법은 2가지다. 커서 다음 부분을 찾아갈지, 커서 이전 부분을 찾아갈지에 따라 두 가지로 나뉜다. / - 다음 문자열 찾기 /{찾을 문자열} - / 키 입력 후 '찾을 문자열'을 입력하여 현재 커서 다음에 나타나는 '찾을 문자열'로 커서를 이동시킬 수 있다. Normal 모드에서 / 를 입력하면 하단 Status Bar 에 그대로 / 가 표시되는 것을 확인할 수 있다. 이 때, 찾기를 원하는 문자열을 써 넣으면 된다. 찾기를 수행하면 에디터는 해당 ..
Vim 특정 문자로 커서 이동하기 이번에는 f, F, 't', T' 키를 활용해서 한 줄 안에서 특정(지정한) 키로 이동할 수 있는 방법을 알아본다. 앞서 살펴보았듯, 문자 단위로 한 글자씩 좌, 우로 이동할 수 있었는데 h, l 로 가능했다. 단어 단위로 점프하고자 할 때는 w, W, b, B, e, E 등을 활용했다. 그러나 때로는 단어 단위가 아니라 '특정 문자까지'를 명령의 대상으로 삼고싶을 때가 있다. 다음 코드를 보자. Calculator c2 = new CalculatorDecoMinus(); // 주석만 남기고 싶다면? ↑ 커서는 C 위치에 있다고 가정 현재 커서가 맨 첫번째 문자 - C 에 있다고 가정하자. 이 때, 주석만 남기고자 한다면 어떻게 할 수 있을까? 한번 생각해보자. 다양한 ..
Vim Visual Mode Vim 에서 블록을 씌우고 싶을 때 사용하는 것이 Visual Mode 이다. Visual Mode 를 활용하면 다음 스크린샷과 같이, 텍스트에 블록을 씌울 수 있다. 이렇게 Visual Mode 로 블록을 씌운 뒤 특정 명령어를 통해 해당 문자열들을 컨트롤 할 수 있다. 블록을 씌운 뒤 해당 부분을 복사, 지우기, 대체하기 등 다양한 동작을 수행할 수 있는데, 이후에 배울 명령어들과 조합하면 사실상 수행할 수 있는 동작은 수백가지(어쩌면 수천가지)에 이를 수도 있겠다. Vim Visual Mode 는 다른 동작들과 조합되어 사용되는 경우가 많기에, 이 포스팅에서 소개한 Visual Mode 의 사용법은 한정적인 것임을 인지하고, 추후에 Vim Visual Mode 와 함께 ..