vim
[Vim] 대소문자 변경하기
개요 안녕하세요 피터입니다. 오늘은 vim에서 대문자 또는 소문자로 일괄적으로 변경하는 방법에 대해서 알려드리겠습니다. 전체적으로 대문자 또는 소문자로 변경하는 것도 가능하지만 대문자인 것은 소문자로 소문자인 것은 대문자로 반전(inverse)하는 것도 가능합니다. vim 에서 대소문자를 변경하는 방법은 크게 두 가지가 있습니다. 첫 번째는 일반 모드에서 명령어를 입력해서 변경하는 방법이고, 두 번째는 비주얼 모드에서 영역을 지정하고 변경하는 방법입니다. 일반 모드 일반 모드에서 대소문자를 변경하는 명령어는 아래와 같습니다. Command Description Examples gU 에 해당하는 범위의 문자를 대문자로 변경 gUU : 현재 라인 전체 대문자로 변경 gUw : 현재 커서부터 단어의 끝까지 대..
[Vim] 문자열 검색 및 바꾸기
안녕하세요 피터입니다. 오늘은 vim에서 특정 문자열을 검색하거나 원하는 문자열로 변경하는 방법을 소개해드리겠습니다. 개요 vim은 다른 텍스트 에디터들이 기본적으로 제공하는 "찾기 및 바꾸기"와 같이 현재 열려 있는 문서 내에서 특정 문자열을 검색하거나 원하는 문자열로 바꿀 수 있습니다. vim이 강력한 이유는 바로 찾기 및 바꾸기 기능에서 정규 표현식(Regular Expression)을 활용할 수 있기 때문입니다. 문자열 검색하기 vim에서 특정 문자열을 검색하기 위해서는 일반모드에서 슬래시( / ) 키를 이용하여 검색 대화창을 띄워야 합니다. 화면 하단에 / 문자가 표시되며 커서가 활성화 되면 원하는 검색어를 입력할 수 있습니다. 간단하게 score 라는 검색어를 입력해보겠습니다. 위와 같이 문서..
[Vim] 범위 지정하기
안녕하세요 피터입니다.오늘은 vim에서 범위를 지정하는 방법을 소개해드리겠습니다.앞어 강좌에서 복사, 붙여넣기, 삭제 등의 기능을 살펴봤는데요. 이 기능들을 좀 더 효과적으로 사용하기 위해서는 범위 지정에 대해 알고 있어야 합니다. 범위 지정하기vim에서 범위를 지정하는 방법은 크게 두 가지 방법이 있습니다. 첫 번째 방법은 명령행 모드에서 명령어를 입력할 때 범위를 지정하는 방법이고, 두 번째 방법은 비주얼 모드에서 범위를 선택해서 지정하는 방법입니다. 명령어를 특정 범위에 적용하는 동작은 같지만 사용하는 방법이 다릅니다. 한 가지 방법만 알고 있어도 사용하는데 크게 문제는 없으나, 상황에 따라 더 편리한 방법이 존재하고 별로 어렵지도 않으니 두 가지 방법 모두 익혀두시고 사용하시기 바랍니다. 명령행 ..
[Vim] 커서 이동
vim에서 커서 이동하기vim가 개발된 시기에는 마우스가 없었기 때문에 커서를 조작하기 위해서는 키보드를 이용해야 합니다. 일반적으로 키보드의 화살표 키나 PageUP/Down, Home, End 키 등을 사용해서 커서이동을 할 수 있습니다. 그런데 vim에서는 이 밖에도 별도의 영문 키로 커서 이동이 가능한데요, 이것은 vim이 개발되던 당시의 키보드는 텐키(키보드 우측에 숫자가 있는 부분)나 화살표 키 등이 없는 형태였기 때문에 별도의 키로 구현이 된 것입니다. 요즘 나오는 키보드에 화살표키가 없는 경우는 굉장히 드물지만 오른손의 동선을 최소화할 수 있고 향후 포스팅할 자동화 매크로 기능에서도 영문자 키를 이용한 커서 이동이 활용되기 때문에 알아두시는게 좋습니다. vim 에서 사용되는 모든 명령은 대..
[Vim] 파일 열기, 저장, 종료
이제 본격적으로 vim 의 사용법에 대해 알아보겠습니다. 파일 열기 리눅스 쉘 프롬프트 상에서 vim hello.c 이렇게 명령어를 입력하면 vim 이 실행되면서 hello.c 파일이 열립니다. 만약에 hello.c 파일이 존재하지 않는 다면 새로 생성합니다. 이렇게 새로 생성하게 되면 하단에 “hello.c” [새 파일] 이라고 표시가 됩니다. 하지만 vim에서 저장을 하지 않으면 실제로 파일이 생성되지는 않습니다. (메모리 상에만 존재하는 거죠) vim이 처음 실행되면 일반 모드로 시작되기 때문에 바로 편집을 할 수 없습니다. i 키를 통해 입력 모드로 전환해서 편집을 해보겠습니다. 입력 모드로 진입하면 하단에 -- 끼워넣기 -- 라고 표시가 됩니다. (한글이나 워드 등에서 삽입 모드와 같습니다) 저..
[Vim] 모드 이해
Vim을 이해하려면 vim에 존재하는 여러 가지 모드(Mode)를 이해해야 합니다. 이러한 모드가 vim의 가장 큰 특징이라고 할 수 있습니다. 여러 모드들로 인해 강력한 기능을 수행할 수 있지만 vim을 배우려는 사람들에게 진입장벽이 되는 것도 사실입니다. 때문에 vim의 러닝커브(Learning curve)는 다른 에디터에 비해 남다를 수 밖에 없는데요.이를 재밌게 표현한 그림이 있어서 소개해드립니다. 조금 과장되긴 했지만 그만큼 vim과 emacs가 강력하지만 익숙하게 다루는 게 힘들다는 것을 잘 표현하고 있네요. 사실 저도 vim을 처음 실행했을 때 바로 문서 편집이 안되서 당황했던 기억이 납니다. 그럼 이제부터 vim의 모드에 대해 간략하게 설명드리겠습니다.vim에는 굉장히 다양한 모드가 있는데..
[Vim] 소개 (vim의 역사 및 장점)
Vim 에디터는 유닉스 월드에서 오랜 세월 전통을 이어온 vi 에디터의 진보된 형태입니다. 텍스트 기반의 CLI 환경에서 주로 사용되다 보니 요즘 나오는 에디터와는 확연하게 형태로 디자인되어 있습니다. 모바일에서도 3D게임이 펄펄 나는 요즘 텍스트 환경 기반의 에디터를 사용하는 것이 시대에 뒤쳐져 보일지 모르지만vim은 그래픽 환경의 다른 에디터에 비해 실행 속도가 수십 배는 빠르고 사용하는 리소스도 현저히 작습니다. vi는 만들어진지 30년이 넘은 에디터지만 계속해서 발전해와 지금도 여전히 강력한 기능으로 사랑받고 있습니다. 게다가 국제화 규격에 맞춰서 유니코드(Unicode)나 다른 언어권 문자까지 지원하고 있기 때문에 국제화가 추세인 요즘 시대에 걸맞는 에디터라고 볼 수 있습니다.여러분이 unix ..