Peter Ahn
Peter의 우아한 프로그래밍
Peter Ahn
전체 방문자
오늘
어제
  • 전체 (115)
    • 영어공부 (15)
    • 물생활 (9)
    • 독서 (2)
    • 일상 (1)
    • IT 소식 (15)
      • 최신 기술 소식 (10)
      • 보안 소식 (5)
    • 인공지능 (AI) (2)
    • OS (19)
      • Linux (19)
    • Web (0)
      • Vue.js (0)
    • 객체지향 (1)
      • 개념과 원리 (1)
      • 디자인패턴 (0)
    • 프로그래밍 (37)
      • C (14)
      • C++ (3)
      • C# (1)
      • Python (3)
      • Javascript (2)
      • Bash (4)
      • Vim (9)
    • Database (3)
      • DB2 (3)
      • MongoDB (0)
    • 프레임워크 (1)
      • Ionic (1)
    • Cloud (1)
      • AWS (1)
    • 3D Printer (2)
    • 기록보관소 (5)
    • 초대장 (2)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

  • 프로그래밍의 세계에 오신 것을 환영합니다.

인기 글

태그

  • 랜섬웨어
  • 하프블랙구피
  • 생활영어
  • AI
  • bash shell
  • Linux
  • 구피어항
  • bash
  • 리눅스 명령어
  • 4차 산업혁명
  • typescript
  • 인공지능
  • C언어 강좌
  • C언어
  • vim 비주얼모드
  • 영어 회화
  • C++
  • 구피
  • vim 강좌
  • 영어표현
  • call by reference
  • 리눅스
  • c강좌
  • 프로그래밍
  • 어항
  • vim
  • 쉘 프로그래밍
  • 영어 표현
  • 딥러닝
  • 물생활

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Peter Ahn

Peter의 우아한 프로그래밍

[Vim] 커서 이동
프로그래밍/Vim

[Vim] 커서 이동

2017. 2. 23. 18:47
반응형

vim에서 커서 이동하기

vim가 개발된 시기에는 마우스가 없었기 때문에 커서를 조작하기 위해서는 키보드를 이용해야 합니다. 

일반적으로 키보드의 화살표 키나 PageUP/Down, Home, End 키 등을 사용해서 커서이동을 할 수 있습니다. 그런데 vim에서는 이 밖에도 별도의 영문 키로 커서 이동이 가능한데요, 이것은 vim이 개발되던 당시의 키보드는 텐키(키보드 우측에 숫자가 있는 부분)나 화살표 키 등이 없는 형태였기 때문에 별도의 키로 구현이 된 것입니다. 

요즘 나오는 키보드에 화살표키가 없는 경우는 굉장히 드물지만 오른손의 동선을 최소화할 수 있고 향후 포스팅할 자동화 매크로 기능에서도 영문자 키를 이용한 커서 이동이 활용되기 때문에 알아두시는게 좋습니다. 

vim 에서 사용되는 모든 명령은 대소문자를 구분합니다. 일반모드를 포함해서요. caps lock 키가 ON 된 상태에서 일반모드에서 평소처럼 명령어를 입력하면 전혀 다른 명령어로 인식하기 때문에 주의가 필요합니다.  


1. 커서 이동 (영어 소문자)

vim에서 사용되는 영문자 커서 이동 키는 다음과 같습니다.

←(h) ↓(j) ↑(k) →(l)

키보드에서 h, j, k, l 순으로 배열되어 있으니 적응하는데는 어려움이 없으실 거라 생각합니다. 단, 반드시 소문자로 입력하셔야 제대로 동작합니다. 

vim에서 커서 이동과 같이 반복되는 명령의 경우 반복횟수를 지정하여 한번의 명령어로 여러번 동작할 수 있습니다. 

예를들어 일반모드에서 5h 라고 입력하면 커서가 왼쪽으로 이동합니다. 마찬가지로 10k 이렇게 입력하면 커서가 위로 10행 이동합니다. 

h,j,k,l 키 외에 많이 사용되는 커서 이동 키가 있습니다. 공백을 제외한 현재 행의 맨 앞으로 이동하는 키인 ^ 키와 행의 맨 뒤로 이동하는 $ 키입니다. 

커서 이동 명령을 정리하면 다음과 같습니다.

 command

description 

 [#]h

#칸 왼쪽으로 커서 이동

 [#]j

#칸 오른쪽으로 커서 이동 

 [#]k

#칸 위쪽으로 커서 이동

 [#]l

#칸 아래쪽으로 커서 이동

 ^

공백을 제외한 현재 행의 맨 앞으로 커서 이동

 $

현재 행의 맨 뒤로 커서 이동 

[ ] 괄호로 된 부분은 생략이 가능하며, 생략 시 1을 입력한 것과 동일하게 동작합니다.


2. 화면 단위 커서 이동

커서 이동 명령인 j, k로는 한칸씩만 이동이 가능하기 때문에 내용이 많은 문서를 편집할 때 불편함이 있습니다. 물론 10j, 10k 이런식으로 n개의 행만큼 이동이 가능하지만 불편하기는 마찬가지입니다.

이럴 때는 화면 단위로 스크롤하는 키를 활용하면 편리합니다. 

 command

description 

 ctrl+b

위로 한 화면 스크롤 (PageUp 키와 동일)

 ctrl+f

아래로 한 화면 스크롤 (PageDown 키와 동일)

 ctrl+u

위로 1/2 화면 스크롤

 ctrl+d

아래로 1/2 화면 스크롤



3. 특정 행으로 커서 이동

대용량 문서를 편집할 경우에는 한 화면씩 스크롤 하는 것으로도 부족할 때가 있습니다. 특히 문서의 맨 뒤나 맨 앞으로 가는 경우에 한번에 이동하는 키를 알아두면 편리합니다.

 command

description 

[#]gg

#행으로 이동 (# 생략 시 첫 번째 행으로 이동)

[#]G

#행으로 이동 (# 생략 시 마지막 행으로 이동)

:#

#행으로 이동

gg, G 명령은 주로 #을 생략하고 첫 번째 행이나 마지막 행으로 이동할 때 사용합니다. 

특정 행으로 이동하는 것은 명령행 모드에서 입력(:#)하는 방법을 주로 사용합니다.

현재 행이 몇 번째 행인지 알고 싶을 때는 일반모드에서 ctrl+g 키를 입력하면 하단에 현재 편집중인 문서와 행이 표시됩니다.


-Peter의 우아한 프로그래밍

여러분의 댓글은 저에게 크나큰 힘이 됩니다. 오류 및 의견 남겨주시면 감사하겠습니다.



반응형
저작자표시 비영리 동일조건 (새창열림)

'프로그래밍 > Vim' 카테고리의 다른 글

[Vim] 이전 명령어 반복 수행  (1) 2017.03.13
[Vim] 복사(Copy), 붙여넣기(Paste), 삭제(Delete), 실행취소(Undo)  (1) 2017.03.06
[Vim] 파일 열기, 저장, 종료  (1) 2016.12.02
[Vim] 모드 이해  (1) 2016.11.26
[Vim] 소개 (vim의 역사 및 장점)  (1) 2016.11.24
    '프로그래밍/Vim' 카테고리의 다른 글
    • [Vim] 이전 명령어 반복 수행
    • [Vim] 복사(Copy), 붙여넣기(Paste), 삭제(Delete), 실행취소(Undo)
    • [Vim] 파일 열기, 저장, 종료
    • [Vim] 모드 이해
    Peter Ahn
    Peter Ahn
    IT 정보 공유, 프로그래밍 지식 공유

    티스토리툴바