VI에서 새 줄을 열지 않고 줄의 시작으로 이동


229

나이 들어 지금은 사용했습니다 SHIFTOSHIFT$의 라인의 시작과 끝으로 이동합니다 vi.

그러나 SHIFTO커서 위에 새 줄을 여는 것이 좋습니다.

줄의 시작 부분으로 이동시키는 명령이 있습니까?


9
아래 답변 외에도 Vim에서 : help left-right-motions를 입력하면 많은 정보를 얻을 수 있습니다.
ngm

vim을위한 좋은 책 : vim에서의 연습. ^ 0
陈思秀

답변:


426

일반 모드에서 ^또는 0(영점)을 사용 하여 줄의 시작 부분으로 이동할 수 있습니다.

^커서를 줄의 첫 번째 비 공백 문자로
0이동 항상 커서를 "첫 번째 열"로 이동

Shifti삽입 모드로 이동하고 전환하는 데 사용할 수도 있습니다 .


5
또한 + A 시프트 나는 종료하고 각각 라인의 시작 부분으로 이동 + Shift 또한 삽입 모델로 전환
bibstha

7
나를 위해, 누르면 ^누르면 쉽게로서 일반적으로하지 않습니다 0w연속.
DXDXY


25

Vi / Vim 치트 시트 솔루션을 여러 문제에 사용해보십시오 .

일반 모드의 경우 :
0-[제로]에서 줄의 시작, 첫 번째 열.
$-줄 끝까지


12

당신은 사용할 수 있습니다 0또는 ^라인의 시작으로 이동합니다. + 를
사용 하여 시작으로 이동하고 편집 모드 ( 삽입 )로 전환 할 수 있습니다 .ShiftI


대답은 대부분 정확하지만 작은 경고가 있습니다. Shift+I또는 줄 ^에서 텍스트의 시작 부분으로 커서를 이동 합니다. 줄 n에 시작 부분에 탭 이 있으면 커서를 n*tabstop + 1열로 이동 합니다. 하지만 0이동은에 커서를 첫 번째 칼럼 라인.
narendra-choudhary 2016 년

10

다른 방법이 있습니다.

|

이것이 "파이프" 입니다. ANSI 레이아웃 에서 백 스페이스 아래에있는 심볼 입니다.

Vim quickref ( :help quickref)는 다음과 같이 설명합니다.

N      |      to column N (default: 1)

줄 바꿈은 어떻습니까?

당신이있는 경우 랩 라인을 활성화 0하고 |더 이상 화면 라인의 시작 부분에 당신을 데려 갈하지 않습니다. 이 경우 다음을 사용하십시오.

g0

다시 vim quickref doc :

 g0   to first character in screen line (differs from "0"
      when lines wrap)

이제 왜 작동하는지 봅니다. 감사. 궁금했다. 나는 그것이보다 더 생각 0하기 때문에 |$같은 키에 있습니다.
WesternGun


6

삽입 모드에서 시작 또는 끝으로 커서 이동

  • I -커서를 현재 줄의 첫 번째 비 공백 문자로 이동하고 삽입 모드를 활성화합니다.
  • A -커서를 현재 줄의 마지막 문자로 이동하고 삽입 모드를 활성화합니다.

여기는 + I와 같습니다 . 마찬가지로 + 와 같습니다 .^iA$a

커서를 시작 또는 끝으로 이동

  • ^ -커서를 현재 줄의 첫 번째 비 공백 문자로 이동
  • 0 -커서를 현재 줄의 첫 문자로 이동
  • $ -커서를 현재 줄의 마지막 문자로 이동

5

방금 0을 찾았고 shift + 0은 vim에서 작동합니다.


5
shift+0그것은 )다음 문장입니다
mihai

Shift+0더 나은, ^캐릭터를 보여줍니다 그리고 그것은 성가신입니다. 감사합니다
calbertts

1

0 줄의 시작 부분으로 이동합니다

Shift 0 줄의 끝으로 이동


Shift-0 ( ')')는 줄의 시작으로 당신을 데려 가지 않습니다
Boris Churzin

@Devenv : 맞습니다! 0의 뜻
Sagar Jain

1
Shift 키를 0 ( ")") "앞으로 문장"없습니다 "라인의 끝"(즉 내가) 무엇을 의미하는지의
보리스 Churzin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.