vim에서 커서를 파일 끝으로 이동


409

Vim에서 커서가 파일의 끝 (즉, 마지막 줄의 끝)으로 이동하려면 6 개의 키 입력을 입력해야합니다.

<ESC>G$a- 키보드 레이아웃에서 ESC+ Shiftg+ Shift4+로 변환됩니다 a.

어떻게하면 더 효율적으로 할 수 있습니까?

많은 다른 컴퓨터에서 정기적으로 작업하기 때문에 항상 .vimrc를 변경할 수 없으므로 해당 파일을 편집하거나 만들지 않고도 답을 찾고 있습니다.


8
표시하려는 명령은 다음과 같이 표현되어야합니다 <esc>G$a. 글자를 대문자로하여 이동을 표시합니다. $키보드에 상관 없이이 키 ( $) 의 기능은 변경되지 않으므로 Shift + 4 대신에 + 를 표시하십시오. Shift + 4를 수행하면 의미가 변경 될 수 있습니다. :)
greduan

3
@ Eduan 나는 일반적으로 동의하지만,이 경우 실제 키 누르기도 관련이 있습니다. 나는 둘 다 추가했다 :-)
timss

@Eduan 효율성 문제에 대해서는 실제 명령은 중요하지 않습니다. 키 스트로크 언어마다 키보드 레이아웃에 큰 차이가 있기 때문에 $미국 키보드의 위치를 알 수 없으며 미국인이 명령을 입력하는 $것은 단 하나의 키 입력 일 수 있습니다. 나는 (독일어 키보드로) 두 번의 키 입력임을 명시 적으로 보여주고 싶었습니다.

1
@what IC. 이해할 수 있습니다. 당신이 아는 미래에 그렇게 지적하고 싶었습니다. :)
greduan

답변:


410

명시 적으로 수행하기 전에 라인의 끝으로 이동 할 필요가 없습니다 a, 사용 A;
줄 끝 [횟수] 번에 텍스트 추가

<ESC>GA


3
일반 모드를 유지하려면 G)(또는 <ESC>G)삽입 모드에 있고 마지막 문자에서 일반 모드로 종료하려는 경우) 시도 하십시오. 동일한 수의 키 입력이지만 삽입 모드 대신 일반 모드로 종료됩니다. 삽입 모드 명령이나 편집 대신 마지막 단어에서 일부 일반 명령을 실행하려고 할 때 유용합니다.
Alejandro

1
@Alejandro 유용하지만 문장에서 앞으로 )이동 [count]하므로 예를 들어 마지막 줄이 인 경우 줄 끝으로 가지 않습니다 This is a test. Foo bar.. 많은 코드에서 작동하지만 종종 문장으로 간주되지 않으므로 어쨌든 끝날 것입니다.
timss

다음 줄을 쓰려 <ESC> G o는 경우 캐리지 리턴을 수행하고 파일 끝의 다음 줄에서 삽입 모드로 들어가서 몇 번의 키 입력을 줄입니다.
broc.seib

1
또한 삽입 모드로 전환하지 않으려면을 사용하십시오 G$.
BladeMight

498

이것은 더 빠릅니다. 이것을 사용하십시오

:$

16
이것은 마지막 행으로 만 마지막 행으로 이동하지 않습니다
Rajeshwar

6
파일의 끝 부분으로 빠르게 이동하고 키보드 단축키가 엉망인 경우 이것이 올바른 명령입니다. 감사!
joemar.ct

9
이 경우 : $ + End가이를 수행합니다.
karthik

1
이를 위해서는 끝에 <ENTER>가 필요하지만 줄 끝까지 가야하므로 더 빠르지 않습니다.
Alejandro

1
: $는 트릭을 수행합니다! 질문으로 파일의 끝으로 이동! 감사합니다
Sijan Shrestha

130

히트 Esc한 후 Enter 키를 누릅니다 Shift+G


3
이것은 파일의 끝이 아니라 마지막 행의 시작으로 이동합니다.
Jordan 달리기

5
이것은 나를 위해 파일의 끝으로 간다 . 그리고 아주 쉬운 키 바인드이다
Jacob Garby

G는 가능하면 열 번호를 동일하게 유지하고 마지막 줄로 이동합니다. 야곱은 아마도 선의 끝에 있었을 것이고 요르단은 명령을 실행할 때 정면에 있었을 것이다.
run_the_race

39

초보자에게는 반품이 필요 없습니다. G$할 것이다. 그리고 당신은 계산 <Esc>a정상 모드 명령의 길이에 의해 오도되고 있습니다.

그러나 원하는 경우 Ctrl+ 를 사용할 수 있습니다 End.


8
그건Ctrl-END
zmo

End키보드에 키 가 없습니다 (의미 한 경우).

사실, TIMSS 쇼에 의해 대답은 내가 잘 세는 않았다 <ESC>a그 또는 그녀가 대체 할 수있는 방법을 알고 있기 때문에, Shift+$, a함께 A.

1
@ 현재 대부분의 랩탑 키보드에는 전용 홈 / 엔드 키가없는 경우 Fn과 함께 홈 / 엔드가 위 / 아래 / 왼쪽 / 오른쪽에 배치됩니다
phuclv

22

질문이 "vim에서 파일 끝으로 커서 이동"이라고 생각 했습니까?

파일 끝 : Esc+ 파일 G
시작 Esc+ g(또는 gg이미 명령 영역에있는 경우)


21

파일의 마지막 줄로 이동하는 가장 좋은 방법은입니다 G. 커서가 파일의 마지막 줄로 이동합니다.

줄의 마지막 열로 이동하는 가장 좋은 방법은입니다 $. 커서가 현재 행의 마지막 열로 이동합니다.

따라서 G$파일 끝과 마지막 줄에 도달하면됩니다.

그리고 파일 끝에서 삽입 모드로 들어가려면 그냥하면 GA됩니다. 이렇게하면 파일의 마지막 줄로 이동하여 마지막 열에 추가하여 삽입 모드로 들어갑니다. :)



11

다음 줄을 쓰려 ESCGo는 경우 캐리지 리턴을 수행하고 파일 끝의 다음 줄에서 삽입 모드로 들어가서 몇 번의 키 입력을 줄입니다.


6
  • Ctrl + Home = 파일 시작으로 이동
  • Ctrl + End = 파일 끝으로 이동

3

이것은 더 빠릅니다.

<ESC>GA

5
특히 설명이없는 경우 중복 답변을 게시해야하는 이유는 무엇 A입니까?
timss

3

.vimrc의 키 (예 : F3)에 매핑 할 수 있습니다.

inoremap <F3> <Esc>GA

2
가능하지만 이것은 일반적으로 나쁜 생각입니다. 대신 근육 기억을 목표로 GA하거나 또는를 사용하십시오 G$.
timss

나는 여전히 1 키 스트로크로 승리하고 있습니다.
Tim

OP에게 찾아 보라고 지시하는 대신 완전한 맵 예제를 작성하는 것이 좋습니다. 당신이 그것을 찾을 수 없다면 OP는 어떻게해야합니까?
FDinoff 2016 년

1
당신은 당신의 고향에서 멀리 이동해야하기 때문에 아무것도 "승리"하지 않습니다. 또한 다른 사람의 구성 또는 vi에서도 사용할 수 없습니다. 당신은 정말로 시간을 절약하지 않습니다. C-end홉스에서 언급 한대로 사용하십시오 .
timss

나는 여기에 의견에 동의하지만, 당신을 위해 매핑을 정리했습니다
D. Ben Knoble

0

커서를 줄의 끝으로 이동 한 다음 Mac 터미널에서 편집하는 방법을 찾고 있었는데 여기에 어떻게 작동했는지가 나와 있습니다. 편집 모드를 종료하고 g_를 입력 한 다음 (앞에 콜론없이 'g', 밑줄) 'a'키를 누르면 스크립트에 코드를 "추가"할 수 있습니다


찾고 A계십니까?
D. Ben Knoble

나는 A를 시도했지만 작동하지 않았다
Xinyi Xiang

이상합니다. A기본적으로$a
D. Ben Knoble

0

다른 대안 :

:call cursor('.',strwidth(getline('.')))

함수를 작성하는 경우 유용 할 수 있습니다. 또 다른 상황은 특정 템플릿을 열고 첫 줄 끝으로 이동해야 할 때입니다.

vi +"call cursor('.',strwidth(getline(1)))"  notetaking_template.txt

위의 방법으로도 수행 할 수 있습니다

vi +"execute ':normal! $'" notetaking_template.txt

또한보십시오:

vim-현재 줄의 길이를 얻는다


0

파일 형식 끝에 클립 보드 내용을 붙여 넣으려면

:$ put +

$ ............ last line
put .......... paste 
+ ............ clipboard
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.