콘텐츠로 건너뛰기
Home » vi

vi

jump 관련 명령 정리 – vim

vim에서 h,j,k,l 명령에만 익숙해지는 것도 사실 쉽지 않고, 일단 익숙해지면 이 키들을 연타하는 식으로 커서를 움직이는데, 특정한 위치로 바로 이동할 수 있는 jump관련 명령이 손에 익으면 그만큼 편리할 수가 없더라. jump와 관련된 명령들을 한 번은 정리하고 가자.

마커

m을 이용해서 현재 위치를 특정한 마커로 지정할 수 있고, 백팃 ` 이나 '작은 따옴표를 이용해서 그 위치로 되돌아 갈 수 있다. 보통 마크는 a-z, A-Z, 0-9 와 몇 가지 특수문자가 적용되는데, 특수문자들은 특별한 의미를 가지는 것들이다. 다음은 vim에서 사용되는 마커의 특징이다. 이 중에서 사용자가 임의로 설정할 수 있는 마커는 0-9,a-z,A-Z 이며, 이 각각은 문자의 종류에 따라 또 의미가 조금씩 다르다. 그 외에 편집/선택과 관련하여 특징적인 마커가 있으니 살펴봐두자.

  • a-z 영어 소문자는 일반적인 마크. 파일마다 따로 관리된다.
  • A-Z는 여러 파일간에 유지된다.
  • 0-9는 역시 여러 파일간에 유지되는데 … .viminfo 파일 내에 저장된다고 한다. 따라서 vim을 종료/재시작한 후에도 위치를 기억할 수 있다. (실제로 이는 vim을 빠져나갔을 때 위치를 기억한다고 한다.)
  • < > 는 이전 선택 영역의 처음과 끝을 가리킨다.
  • " 는 최종적으로 수정한 위치를 가리킨다.
  • ' 는 점프하기 이전 위치로 돌아간다.
  • ^는 삽입모드가 최종적으로 종료된 위치로 돌아간다.
  • .은 최종 변경이 시작된 위치이다.
  • [ ] 는 최종적으로 수정한 영역의 처음과 끝을 가리킨다.

:marks를 사용하면 현재 이동할 수 있는 마크들을 보여준다.더 보기 »jump 관련 명령 정리 – vim

여러 파일에 대해 한 번에 문자열 치환하는 방법들

  • 기준
  • ,

문자열에 대한 찾기/바꾸기를 여러 파일에 대해 한 번에 적용하는 방법

Sublime Text 3 에서

Find > Find in Files... 메뉴를 사용하여 찾을 패턴, 찾을 폴더들 (,로 구분가능하며, 와일드카드 패턴으로 특정 확장자를 한정할 수 있다.) 지정하고 변경할 값을 만들어서 한 번에 적용 가능하다.
더 보기 »여러 파일에 대해 한 번에 문자열 치환하는 방법들

vim의 autocmd 이벤트들

  • 기준

vim은 특정 이벤트가 발생할 때 자동으로 명령을 수행할 수 있는데, 이를 au[tocmd]로 지정할 수 있다. 자동 명령 세팅 방법은 다음에 다루기로 하고, 오늘은 이들 이벤트에 대해서 좀 정리 버퍼 읽기/시작하기 BufNewFile 새 파일을 만들어서 편집하기 시작함 BufReadPre 파일을 읽기 전, 새 버퍼를 편집하기 시작함 BufRead 파일을 읽고 새 버퍼를 편집함 BufReadPost 위와 같이 파일을 읽고 새 버퍼를 편집함 (차이가?) BufReadCmd 새 버퍼를 시작하는 명령을 받았을 때 파일 읽기 FileReadPre :read 명령으로 새 파일을 읽기 직전 FileReadPost :read 명령으로 새 파일을… 더 보기 »vim의 autocmd 이벤트들

[업데이트]윈도의 gVim의 한글 폰트 설정 문제 2

원글을 처음 작성했을 때는 vim의 버전이 7.2였는데, 7.3버전의 vim을 쓰면서 encoding 설정값을 utf-8로 바꾸면 메뉴와 각종 메시지들이 깨져서 보이는 대참사를 겪는 문제가 있었다. 따라서 이 글의 원래 내용은 이 문제를 ‘시간차’로 피하고자 하는 꼼수였는데 보다 다른 방법으로 해결해 보고자 한다. 기존의 방식은 encoding의 값을 utf-8로 지정한 후 guifont 속성과 guifontwide속성을 사용해 영문과 한글에 적용되는 글꼴을 다르게 설정하는 것이었다. 이 때 guifontwide 속성은 인코딩이 utf-8일 때만 작동했고, 문제는 이 설정에서는 vim 7.3에서 메시지가 한글로 나오는 부분이 죄 깨지는 문제가 발생했다. 아울러… 더 보기 »[업데이트]윈도의 gVim의 한글 폰트 설정 문제 2

윈도용 gVim의 폰트 설정 문제

  • 기준

윈도용 gVim을 쓸 때 개인적으로 가장 싫었던(?)점은 다름 아닌 폰트 문제였다. 영문 글꼴의 가독성 때문에 고정폭 폰트인 Courier나 Consolas등을 쓰면 한글이 보기 싫은 모양으로 표시되고, 그렇다고 돋움체를 쓰자니 대문자 I와 소문자 l이 구분이 잘 되지 않는 등의 문제가 있다. 그래서 오늘은 추석 특집(?)으로 윈도용 gVim에서 한글과 영문의 글꼴을 따로 따로 설정하여 보기 좋은 화면을 만들 수 있는 팁을 공개하고자 한다. 보통 별다른 설정을 하지 않는다면 gVim의 폰트는 시스템 기본 폰트인 굴림[1. 실제로는 콘솔 기본 폰트인 Fixdays로 표시되는데, 이에 대응하는 굴림으로… 더 보기 »윈도용 gVim의 폰트 설정 문제

vi에서의 복사/붙이기

  • 기준

오랜만에 vi 글. 우분투를 쓸 때 vi는 정말 요긴한 도구이기는 하나 매우 긴 줄을 웹페이지에서 복사해서 붙이는 방법을 모르면 대략 난감한 상황이 오고, 아주 긴 내용을 붙여넣어야 할 때는 대략 정신이 멍해지기도 한다. vi 안에서 복사하기 붙이기 vi안에서 글자를 복사하고 붙일 때는 문자열을 “레지스터”라는 곳에 복사하고, 이를 붙여넣는다. 그런데 이 레지스터는 우리가 흔히 생각하는 클립보드와 완전히 다른 공간이다. (vi 프로그램에서 사용하는 메모리 공간의 일부이다.) 레지스터에 문자열을 복사하는 동작을 vi에서는 “yank”라고 표현하고 명령 모드에서 y키를 사용한다. <횟수>y<대상>의 형태로 y w는 커서의… 더 보기 »vi에서의 복사/붙이기

vi의 조금 편리한 기능들

사실은 조금 더 강력한 기능이랄까. 반복 . – (dot) 구두점은 마지막으로 실행한 명령을 다시 한 번 더 실행해준다. 명령의 반복은 다음과 같이 볼 수 있다. {숫자} {명령} – 명령 앞에 숫자를 붙이면 그 숫자만큼 반복하게 된다. 이동할 때 3 w라고 하면 세 단어를 이동하는 데 이것이 사실은 거의 모든 명령에도 적용될 수 있다. 2dd # 현재 줄을 포함하여 2줄을 삭제한다. 3p # 잘라낸 2줄을 3번 붙인다. 100iDescription <ESC> # ‘Description ‘을 100번 삽입한다. . # 위의 것을 1번 더 즉… 더 보기 »vi의 조금 편리한 기능들

vi 기본 사용법

  • 기준

vi은 대부분의 유닉스나 리눅스 시스템에 설치되어 있다고 믿어도 좋을만큼 널리 퍼져있는 텍스트 편집기이고, 매우 오랜 역사를 가지고 있는 텍스트 편집기이다. 일견, 상식적으로 이해가 힘들 것 같은 조작법 때문에 재미삼아 열어봤다가는 메뉴 등등 익숙한 문서 편집 프로그램에서 볼 수 있는 UI도 없기 때문에 낭패를 보기 십상이지만, 터미널에서 텍스트 파일을 작성하거나 편집할 때 유용하게 사용할 수 있다. 익혀두면 좋을 뿐더러 엄청 편리한 기능들을 제공하기 때문에 오늘날에도 많은 개발자들의 사랑을 받고 있는 편집기..라고 한다. 텍스트로 구성된 설정파일이나 하다 못해 hosts 파일 수정에는 더… 더 보기 »vi 기본 사용법