Vim에서 화살표 키가 권장되지 않는 이유


125

"Vim에서는 절대 화살표 키를 사용하지 마십시오!"

나는 무작위 연사로부터 이것을 들었지만 그에게 그 이유를 물을 기회는 없었습니다. 또한 화살표 키를 사용하지 않으면 삽입 모드 에서 커서를 어떻게 이동할 수 있습니까?


6
이 질문에 대한 역사적 반응은 흥미 롭습니다. 종교적 소인 원은 그렇지 않다.
Isaac Rabinovitch

5
좋은 질문. Dvorak 키보드 사용자는 항상 vi [m]에 대해 버그가 있습니다.
wim

32
몇 년 전 vi를 처음 사용했을 때 저에게 조언하는 선임 동료가 기억합니다. "하루, j, k 및 l 키를 사용하는 방법을 배우십시오. 언젠가 화살표가있는 클라이언트 사이트에서 컴퓨터를 사용할 수 있기 때문입니다. 키가 작동하지 않고 vi도 작동하지 않으면 완전한 머리 모양처럼 보일 것입니다. "
Ergwun

1
삽입 모드에서는 Ctrl-O를 사용하여 일반 모드 명령을 사용하여 커서를 계속 이동할 수 있으며 삽입 모드로 돌아갑니다. 또한 삽입을 시작한 열에서 커서를 다음 및 이전 줄로 이동하는 CTRL-G CTRL-J 및 CTRL-G CTRL-K를 확인하십시오.
Benoit

1
나는 지난 몇 년 동안 많은 나쁜 습관을 개발했습니다. 나는 더 좋은 습관을 사용하도록 강요하기 위해 매우 느린 연결을 통해 그것을 사용해야한다고 생각합니다.
aidan

답변:


172

화살표 키를 사용하면 나쁜 습관으로 간주됩니다. 화살표 키를 사용하는 경우 많은 vim의 멋진 기능이 빠져있을 수 있습니다.

사람들이 vim을 처음 사용하기 시작하면 기존 텍스트 편집과 비슷하기 때문에 삽입 모드를 유지하는 경향이 있습니다. 그러나 vim에서 효과적이기 위해서는 실제로 텍스트를 입력 할 때만 삽입 모드에 있어야합니다. 커서를 움직이려면 일반 모드에 있어야합니다. 기본적으로 일반 모드에 있어야합니다.

일반 모드에서는 움직일 수있는 백만 개의 단축키가 있습니다. 당신은 사용할 수 있습니다 hjkl한 번에 하나 개의 공간을 이동하거나 그렇게에 단어, 단락에 의해 이동할 수 있습니다. 정상 모드 인 경우 화살표 키 hjkl가 더 멀리 있기 때문에 대신 화살표 키를 사용할 필요가 없습니다 .

화살표 키를 사용하는 경우 vim "잘못된"을 사용하는 태도가 있습니다. 진실은 vim이 정말로 가파른 학습 곡선을 가지고 있기 때문에 배우는 동안 당신이 제정신을 유지하는 모든 것을하십시오. 처음으로 vim을 사용하기 시작했을 때 모든 것을 "잘못된"방법으로 수행했으며 vim의 명령을 더 많이 배우면 습관을 깨는 데 아무런 문제가 없었습니다.

예를 들어, 처음 시작할 때 텍스트를 따옴표로 바꾸고 싶다고 가정 해보십시오.

String mystring = "I want to change this";

삽입 모드로 이동하고 화살표 키를 사용하여 문자열의 끝으로 이동하고 문자열이 사라질 때까지 백 스페이스를 누른 다음 새 텍스트를 입력합니다.

훨씬 더 좋은 방법은 커서를 문자열의 아무 곳에 나 두는 것 (일반 모드)을 누르십시오 ci". 이것은 것 change in "입니다. 따옴표 사이의 모든 것을 삭제하고 새 텍스트를 입력 할 수 있도록 삽입 모드로 전환합니다.


4
@ ott-- ci<그리고 ci)잘 작동하므로 키보드에서 마우스로 손을 움직일 필요가 없습니다. 괄호의 시작 부분으로 이동 한 다음 내용을 변경하려면 f(ci(작동합니다.
Matthew Finlay

6
"문자열의 아무 곳에 나 커서를 놓으십시오"-그리고 다시 삽입 모드에서는 화살표를 사용하여 거기에 도달합니다. 일반 모드에서는 /wantEnter 키를 눌러 'want'라는 단어를 입력 한 다음 수행 할 수 ci"있습니다.
Nathan Long

8
이봐, 깔끔하다! 커서를 움직일 수있는 가장 빠르고 강력한 방법입니다. 그것을 향상시킬 수있는 유일한 방법은 커서를 원하는 곳을 마술처럼 가리키고 그냥 뛰어 넘을 수있는 방법입니다. 어쩌면 우리는 무언가를 발명 할 수 있습니다. 우리는 이것을 "마우스"라고 불러야한다고 생각합니다.
Matthew Scouten

18
@MatthewScouten vim이 마우스보다 단순하다고 주장하는 사람은 없습니다. 그러나 약간의 연습으로 훨씬 빠릅니다. 마우스를 사용하는 것은 포인트를 가리킬 수있는 포인팅과 and 거리는 것과 같습니다. Vim을 사용하면 문장 전체를 말할 수 있습니다.
Dean

4
습관을 끊는 것은 정답입니다. 그러나 정상적인 활동으로부터 누군가를 강제로 막는 것은 파시스트입니다. 더 나쁜의 유용성 (의 hjkl) : 매핑 updown서로 수직 구별이 키는 왼쪽과 오른쪽 키에서 ..... 그것의 홀로 비극적 인 이데올로기 맹검 오만의 데모.
새로운 Alexandria

93

키 배치

간단히 말해, 키는 화살표로 표시된 이전 "ADM-3A"터미널의 나머지이기 때문에 탐색 인터페이스로 Vim사용합니다 hjkl.

건반

이후 vim에서 파생 된 vi, 동일한 hjkl 키를 사용한다.

새로운 습관

화살표 키의 문자 기반 대체를 사용하면 표준 입력 구성에서 손을 떼지 않고도 텍스트탐색 할 수 있습니다 . 화살표 키를 누르기 위해 손을 움직이는 것보다 훨씬 효율적이고 빠릅니다. 참조 # 2 (자료 참조)에 설명 된 것처럼 이것이 장점의 끝은 아닙니다. VIM에는 손을 움직이지 않고도 액세스 할 수있는 다른 바로 가기가 많이 있습니다.

리소스 및 삽입 모드

귀하의 질문의 두 부분에 대한 매우 상세하고 정확한 답변이 있습니다. 화살표 키 교체 측면에서, 나는 빠르고 요약 된 방식으로 답변 했지만 귀하의 삽입 질문 에 대해서는 아래 나열된 리소스를 참조하십시오.


2
hjkl 키는 화살표 키로 손을 움직이는 것보다 훨씬 효율적입니다.
sixtyfootersdude

2
이것은 질문에 대답하지 않고 hjkl 이 선택된 이유만을 설명합니다 .
Matsemann

3
이것은 사실이며 흥미로운 기록이지만 OP는 커서 를 삽입 모드에서 어떻게 움직이는 지 묻습니다 . hjkl삽입 모드에서는 작동하지 않으므로 질문에 대한 답변은 어떻습니까?
LarsH

3
@Kruug, 질문의 첫 번째 부분은 누군가 vim에서 화살표 키를 사용하지 말라고 한 이유입니다. hjklvim에서 사용할 수 있다는 사실은 내가 자전거를 타고 일을 할 수 있다는 사실이 누군가가 왜 조깅하지 말라고 설명하지 않는 것처럼 누군가가 화살표 키를 사용해서는 안되는 이유를 말해주지 않습니다.
LarsH

1
이제 Vim이 escape를 사용하여 삽입 모드를 종료하는 이유를 알고 있습니다.
Étienne

56

이 멍청한 만트라는 종종 홈 행이 두 번째 척추와 같은 터치 타이피스트 또는 시원하게 보이고 싶어하는 비 터치 타이피스트에 의해 반복됩니다. 터치 타이피스트가 아닌 사람들에게 홈 행은 그다지 특별하지 않으며 오른쪽 손을 약간 움직여 화살표에 도달하는 것은 전혀 문제가되지 않습니다.

고려해야 할 중요한 것은 그 만트라를 반복하는 사람들이 대신 사용할 것을 제안하는 것입니다.

대부분의 경우을 (를) 사용한다고 주장합니다 hjkl.

vi의 저자가 사용하는 키보드에 물리적 화살표 키가 없기 때문에 이러한 키만 사용된다는 사실을 배제하면 화살표 키에 대한 모든 주장은 합리화이므로 hjkl화살표보다 약간 더 좋습니다. 그렇습니다 hjkl. 화살표 를 사용하는 것의 유일한 장점은 오른손의 작은 움직임을 화살표로 건너 뛰는 것입니다. 그 혜택이 문제의 가치가 있는지 여부는 당신의 전화입니다.

그러나 오른손의 움직임이 화살표 사용 하는 것이 비효율적 인 이유는 아닙니다 . 텍스트를 편집하는 데 필요한 대부분 의 이동 범위가 훨씬 더 큰 반면 문자별로 이동하고 줄 단위로 이동하는 것을 제한하기 때문에 비효율적 입니다.

오른쪽 화살표를 13 번 망치는 것은 비효율적이며 지루합니다. 그것은이다 망치 더 잘 l키 13 번? 아닙니다. 똑같이 바보입니다.

목표에 도달 할 때까지 오른쪽 화살표를 누르는 것은 지루하지는 않지만 오류가 발생하기 쉽고 끝에서 필요하고 비 결정적 인 속도 저하로 인해 13 번의 타격만큼 비효율적입니다. 그것은이다 것을 더 유지하기 위해 l키를 누르면를? 물론 아닙니다.

고맙게도 대부분의 GUI 툴킷은 Ctrl+Right단어 단위로 이동하거나 EOL, 다음 단락 또는 기타로 이동할 수 있는 콤보를 제공합니다 . 이 단축키는 단일 화살표보다 훨씬 빠르고 지능적으로 탐색하는 데 도움이됩니다. 우리도 같은 hjkl가요? 아닙니다. 원하는 경우 카운트를 사용할 수 있지만 모든 모션에 대해 문자를 계산하려는 사람은 누구입니까? 수행 14k의 도움은 relativenumber큰하지만 수평 움직임에 대해 무엇입니까? 큰 움직임의 hjkl경우 실제로 수정 자 + 화살표보다 더 나쁩니다. 그리고 무엇을 추측합니까? 큰 움직임이 가장 필요합니다.

그러나 우리는 운이 나쁜 놈이다, 우리가 제일 좋아하는 편집기는 모두 화살표 주위에 동그라미를 실행 동작 다스가 hjkl : bBeEwW/?*#{}()등등하고있다. 이 명령은 헤아릴 수 보다 더 힘을 실어 hjkl당신이 사용하는 경우 훨씬 더 논리적이고 직관적 대부분의 Ctrl+Right친구.

에서 전환 <Right><Right><Right><Right><Right><Right><Right><Right><Right>lllllllll짝수 또는 것은 9l터무니없이 무의미하다.

에서 <Right><Right><Right><Right><Right><Right><Right><Right><Right>로 전환 하는 <C-Right>것이 훨씬 좋습니다. 거기서부터 w쉽고 빠르게 전환 할 수 있습니다. <nop>당신의 화살이 필요 없습니다 !

이러한 명령이보다 유용하고 강력하고 직관적 인 경우 hjkl, 왜 이렇게 많은 블로거들과 주석가들이 화살표를 다음과 같이 바꾸어야 hjkl합니까?

나는 가지고있다. 몰라.

결론적으로, hjkl우리는 항상 2 문자 또는 줄씩 이동해야하지만 숲을 숨기는 나무가 아닌 나무이기 때문에 툴 벨트에 자리를 잡으십시오. 사람들이 화살에 대해 설교하는 것에주의하십시오.


처음에 나는 당신이 'hjkl'이 쓸모 없다고 말할 것이라고 생각했지만, 좋은 캐치, 단어 / 단락 / 문장 움직임은 단일 문자 움직임에 관한 만트라보다 훨씬 더 유용합니다.
Xavier T.

1
감사. 나는 언젠가 HN에 대해 비슷한 토론을했는데, 말이 잘못되어 탈선했다. 자신의 노력에 집중하는 hjkl 것은 쓸모 없지만 hjkl유용합니다.
romainl

5
여기에서도 마찬가지입니다. 결국 귀하의 답변이 마음에 들었지만 톤이 불필요하게 삐걱 거리거나 트롤링 / 타오르는 것처럼 느껴졌습니다.
UncleZeiv

그것들을 쓸모 없게 부르지 말고 속도에 대한 논쟁은 좋은 것이며, 화살표 키가 중요하지 않은 방식으로 HJKL이 다른 VIM 명령과 작동하는 방식입니다.
Aviator45003

@TC 토론 전체를 더욱 흥미롭게 만드는 예가 있습니까?
romainl

18

다른 사람들은 왜 커서를 움직이는 다른 방법이 선호되는지에 대해 설명했지만, 화살표 키를 사용하는 것이 나쁜 생각으로 여겨지는 이유는 무엇입니까?

필자는 VT100과 같은 터미널 시대에 화살표 키 가 실행중인 프로그램에 의해 해석 된 이스케이프 시퀀스생성 했기 때문에 주된 이유 (및 @Squeezy가 다소 암시)를 생각합니다 . 화살표 키는 ASCII로 표시되지 않으므로 화살표 키 입력은 "특별한"방식으로 전달되어야합니다. 이스케이프 시퀀스는 일반적으로 다음과 같습니다.

ESC [ A

터미널의 속성, 연결 및 커서 모드 에 따라 다릅니다 . 쉘이나 프로그램이 터미널에 맞게 올바르게 구성되어 있지 않으면 이스케이프 시퀀스를 화살표 키로 이해하지 못할 것입니다.

대학에있을 때 VT100 터미널을 통해 Ultrix에 로그인 할 때 삽입 모드에서 vi를 사용하는 동안 화살표를 누르면 ESC"삽입 모드에서 나가기" [ A로 해석되고 다음 은 정상 모드 명령으로 해석됩니다. . 분명히 사용자가 원하거나 기대하는 것이 아닙니다!

오늘날 터미널 및 화살표 키 처리는 특히 GUI 환경에서 더욱 강력 해 보입니다. 그러나 SSH 또는 Telnet을 통해 vim을 사용할 때도 동일한 문제가 발생합니다.


14

화살표 키를 사용하면 QWERTY 레이아웃을 사용할 때 홈 행에서 또는 Dvorak을 사용할 때 문자 패드 (?) 또는 다른 레이아웃에서 손가락을 강제로 움직이기 때문에 눈살을 찌푸립니다.


4
와. 진심이야? Vim을 디자인 한 사람들이 자신의 사용자가 생각보다 타이핑하는 데 더 많은 시간을 소비한다고 생각한다는 것을 믿기 싫습니다.
Renan

13
손을 움직이는 것이 왜 생각을 암시합니까?
EBGreen

8
글쎄, 내가 학교에서 그것을해야 할 때, 당신은 hjkl 탐색을 사용하기 전에 esc를 눌러야 했으므로 이미 왼손을 홈 줄에서 제거하여 새끼 손가락을 Esc로 가져 왔습니다. 한 칸 뒤로 돌아가서 'Esc : hi'를 입력 해야하는 문자를 삽입 한 다음 삽입하려는 문자를 입력한다는 것을 기억합니다. 그다지 도움이되지 않습니다.
Frank Thomas

1
@Renan- '입력'은 '텍스트 삽입'을 의미한다고 가정합니다. 키보드를 사용 하여 Vim을 탐색 하는 방법 때문에 키보드를 읽거나 생각할 때도 홈 줄에 손가락이 있습니다. 이동 검색, 코드를 비교하기 위해 다른 파일 열기, 철자 오류 수정 등.
Nathan Long

2
@Renan-1) 절감액을 과소 평가하고 2) 적은 비용을 합치십시오. 터치 타이핑 Vim 파워 유저가 다른 개발자보다 10 배 빠른 속도로 편집하는 것을 보았습니다. 속도가 충분하면 편집이 자동으로 이루어지고 생각이나 흐름을 방해하지 않습니다. 이런 식으로 일하는 것이 즐겁기 때문에 보트가 떠 다니지 만 생각보다 생산성이 크게 향상됩니다. Gary Bernhardt와 같은 코더를 예로 들어보십시오.
Nathan Long

10

화살표 키는 1200 보드 모뎀과 같이 느린 연결에서 이미 알려진 것으로 알려진 문제를 나타냅니다. 화살표는와 같은 ESC 시퀀스로 변환됩니다 ESC a. 이제 ESC와 시간 사이에 시간이 너무 길면 BEL (또는 깜박임)이 들리고 추가 모드가 나타납니다. hjkl키 와 함께 나타나지 않습니다 .


나는 ESC [ A당신이 말하는 것을 생각 합니까?
LarsH

2
ESC [ ADEC VT-100 터미널 (ANSI 터미널은 DEC VT-100에서 파생 된 것임) 화살표입니다. IIRC ESC A는 ADM-3A 화살표 또는 DEC VT-52 화살표였습니다. 포인트는 동일하지만 ESC화살표 키의 일부로 전송 된 문자는 ESC수동으로 입력 한 문자 와 쉽게 혼동됩니다 .
RBerteig

@RBerteig : 알아두면 좋습니다.
LarsH

5

두 번째 질문과 관련하여 :

[I] 화살표 키를 사용하지 않으면 삽입 모드에서 커서를 어떻게 움직일 수 있습니까?

마스터이고 따라서 화살표 키를 경멸하는 사람에게는 "모드"라는 개념이 존재하지 않습니다.

마스터는하지 삽입 모드를 사용하여 새로운 텍스트가 아니라 완전한 삽입 또는 교체 추가 명령 과 같은 연산 코드로 시작 i, o또는 cw그 페이로드 텍스트 다음에 의해 종료됩니다 ESC. 명령에는 구문이 있으므로 기계는 명령 구문을 승인 할 때 상태를 통과하지만 편집기의 마스터 모델에서는 모드를 생성하지 않습니다. 견습생이 순진하게 "모드"라고 부르는 것은 마스터에게 피할 수없는 가장 끔찍한 상황 인 미완성 된 명령 상태입니다.

삽입 또는 바꾸기 명령의 중간에 마스터가 인식 할 때마다 커서가 나타내는 다음 문자 위치가 아닌 다른 텍스트를 삽입하거나 삭제해야합니다. 마스터는 삽입 명령을 종료하고 수십 가지 효율적인 중 하나를 해제합니다 이동 명령 ( hjkl보다 강력한 방법이 분명히 적용 가능하지 않은 경우 낮은 수준으로 복원 ).

또한, 명령을 미완성 상태로 두는 방식으로 마스터가주의를 산만하게하는 경우가 거의 없으므로, 마스터는 "만약의 ESC경우"발행 된 불필요한 항목으로 인해 편집기에서 경고음을내는 경우가 거의 없습니다 .

(그러나 네트워크에 지연이 발생하거나 머신이 다운 된 경우 마스터는 ESC다른 모든 사람과 마찬가지로 키를 격렬하고 반복적으로칩니다.)


2
경우, 기억 vi의이 공정하게 다음 명령 항목이 모드 삽입, 우리는 다른 편집기에서 이러한 모든 모드를 식별하고 모달을 호출해야합니다. 예를 들어, Emacs에서 Ctrl-X를 눌렀을 때, 우리는 "모드"에 있습니다. 예를 들어, Ctrl-S를 눌 러 문서를 저장하면 해당 "모드"외부에서는 작동하지 않습니다.
Kaz

5
  • 특정 환경에서는 화살표 키가 제대로 작동하지 않을 수 있습니다. hjkl 은 일반적인 문자이며 모든 종류의 터미널에서 잘 이해됩니다.
  • 당신은 커서 이동하지 않습니다 삽입 모드를 (을 제외하고 백 스페이스 와 짧은 오타 수정)의 아이디어 VI는 입력하는 것입니다 삽입 모드 만 뭔가를 입력 할 수 있습니다. 일반 모드 에서 이동
  • 가능하면 hjkl 을 사용하여 해당되는 으로 이동하지 말고 방향을 위해서만 사용하십시오. vi 로 이동할 수있는 많은 옵션이 있습니다 : http://vim.wikia.com/wiki/Moving_around

실제로 백 스페이스를 사용하여 커서를 삽입 모드에서 적어도 왼쪽으로 이동할 수 있습니다. 그러나 나는 당신이 자유롭게 움직일 수 없다는 데 동의합니다.
LarsH

커서를 삽입 모드 에서 전혀 움직이고 싶지 않다고 표현하려고했습니다 .
Squeezy

죄송합니다 . 삽입 모드에서 커서를 움직일 수 없다는 내용의 내용을 잘못 이해했습니다 . 실제로 커서를 삽입 모드로 이동하고 싶습니다. 새로운 텍스트를 입력하고 잘못된 키를 누르면 백 스페이스를 사용하여 수정하고 싶습니다. 그러나 그 제한된 사용을 넘어서, 나는 동의한다.
LarsH

3

그렇습니다. 위에서 언급 한 많은 이유 vi에서 원래 사용하도록 작성 hjkl되었지만 " never "는 매우 큰 진술입니다.

vim원하는대로 작동 하도록 수정 (및 사용하는 다른 도구) 하는 경향 이 있습니다. 이것은 내 컴퓨터에서 훌륭하게 작동하지만 임베디드 개발자로서 항상 내가 지원하는 컴퓨터의 항목을 선택하지는 않습니다. 가끔 hjkl탐색 만하는 구형 컴퓨터를 발견 vi했습니다. 습관을 끊고로 전환 할 때까지 제어 코드를 파일에 2 ~ 2 초 동안 삽입하게됩니다 hjkl.

"Vim에서 화살표 키를 절대로 사용하지 마십시오!" 화살표 키를 처리 할 수없는 기계를 사용할 수 있습니다. 그것은 " 절대 " 라고 말하는 아주 얇은 이유처럼 느껴집니다 .


3

화살표 키를 사용하지 않으면 삽입 모드에서 커서를 어떻게 움직일 수 있습니까?

화살표 키를 사용하지 못하게하는 주된 이유 는 삽입 모드에서 이동할 수 있기 때문 입니다.

초보자를위한 vim 학습의 가장 이상한 문제 중 하나는 vim의 실행 취소 명령 이 마지막 키 입력이 아닌 마지막 동작 을 취소하여 작동한다는 것 입니다. 내 친구 중 상당수는 계속 떠날 이유가 없기 때문에 전체 시간 동안 삽입 모드를 유지합니다. 그들이 나에게 물으면 "어떻게 취소할까요?" vim이 전체 파일을 지울 때 좌절감을 느끼는 "명령 모드에서 문자 u를 누르십시오"라고 답장합니다.

"Vim은 일을 제대로 취소 할 수 없다면 꽤 쓸모없는 텍스트 편집기입니다."

방법을 배우기 전에 도구를 사용하기가 어렵습니다.

Vim은 사용법을 익힌 후에 만 ​​유용합니다. vim의 힘은 무의식적 인 근육 기억을 통해 "다시 그 일을 다시"또는 "그 일을 취소 할 때"또는 "이 매크로 단축키를 눌렀을 때만 그 일을하는"방법을 알려줍니다. 만약 "그것"이 "처음부터 끝까지 전체 파일을 입력하십시오"가되면, vim은 그다지 유용하지 않다는 데 동의합니다.

따라서에있을 때만 텍스트를 입력해야합니다 insert mode. 화살표 키를 피하는 것은 우리가 더 나은 vim 사용자가되고 더 빨리 돕는 데 도움이되는 방법 중 하나 일뿐입니다.


0

kbox에서 ssh 데몬을 실행하는 Android 장치에 셸을 넣은 상태에서 vim을 실행하면 편안한 영역에서 벗어날 수있었습니다. 장치의 Anroid 터미널 에뮬레이터는 볼륨 키를 사용하여 특수 키 콤보 (ctrl + 무엇이든)를 대체하므로 키보드에서 일반적으로 사용하는 일부 키는이 상황에서 작동하지 않습니다.

예를 들어,이 환경에서는 삽입 키가 작동하지 않으므로 I삽입 모드로 전환하는 데 사용 하고 있습니다. 일반적으로 삽입 모드를 이스케이프하는 데 사용하는 Esc 키가 작동하지 않으므로 ctrl + [대신 이스케이프를 사용하고 있습니다. 익숙한대로 Home 및 End 키가 작동하지 않습니다. 대신 나는 줄의 시작이나 끝에 도달하기 전에 결코 신경 쓰지 않은 바로 가기 0$단축키 에 의존 하고 있습니다.

어쨌든, 화살표 키는 여전히 내 상황에서 평소와 같이 작동하지만 미니멀리스트 키보드 단축키가 있다는 것을 아는 것이 좋습니다.


0

vim으로 작성하기 전에 다음 명령을 작성하십시오.

  1. esc
  2. : nop 설정

이것의 한가지 문제점은 매번 그것을 써야 할 수도 있다는 것입니다.


삽입 모드에서 화살표 키를 사용하고자 할 때 유용합니다
0decimal0

0

여기 내 2 ¢입니다.

편안하다고 느끼는 것을하십시오. 다른 편집기를 사용하는 경우 일관성을 위해 화살표 키를 사용하는 것이 더 쉬울 수 있습니다.

반면, vi (및 vim)에는 특별한 키가 필요하지 않습니다. 아마도 예외입니다. 터미널로 기능하기 위해 이전 IBM selectric을 해킹 할 수 있습니다.

주의해야 할 또 다른 사항은 화살표 키가 예상대로 작동하지 않을 수 있다는 것입니다. 작동하지 않는 터미널을 사용했습니다. Vim에서 어떻게 구현되는지 확실하지 않지만 균일하지 않다고 확신합니다. 내 희귀 한 기억조차도 vim 매크로로 구현 된 하나의 구현을 회상하는 것 같습니다.


0

향상된 텍스트 편집기가있는 게임의 이름은 "서둘러 움직여"낭비 / 반복적 인 움직임을 줄이는 것으로 보입니다. 문자 키에서 화살표 키 (키보드 치수에 따라 다름) 이동하고 홈 행으로 돌아갈 때까지 시간 이 조금 걸립니다 . 그러나 왼손 핑키 또는 링 핑거 전환 모드를 사용하여 ESC 키를 얻을 수있는 경우 하나의 유동적 인 동작이되고 편집 세션 중에 속도가 향상됩니다.

그리고 이것은 질문의 두 번째 부분의 열쇠입니다. 왼쪽으로 ESC를 누르고 오른쪽으로 hjkl로 이동하여 삽입 모드에서 빠져 나옵니다. 결국 비트를 건너 뛰지 않고이 작업을 수행 할 수 있습니다.

그건 내가 언급 한 몇 가지 시도까지 내가 빔 어디에서나 없었어 말했다되고 여기를 은 "있는 가장 중요한 : 단축키 매핑 효율을 얻기 섹션"

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