나는 많은 기사 ( 예 :)에서 정상 모드에서 화살표 키를 사용하는 것이 좋지 않다는 것을 읽었습니다 . 누군가 왜 그것이 잘못된 습관으로 간주되는지 설명 할 수 있습니까?
답변
실제로 이것은 나쁜 습관이 아닙니다.
많은 사람들 ( @B Layer의 답변이 보여주는 Vim의 문서 포함 ) 은 화살표 키를 사용하면 손이 홈 행 (키보드의 두 번째 줄)에서 움직이고 hjkl덜 효율적 이기 때문에 화살표 키를 사용하지 않아야한다고 주장합니다. .
이것은 (IMO) vim “purists”circle jerk의 나쁜 결과입니다. 새로운 사용자는 이것을 맹목적으로 따르고 일부는 심지어 화살표 키를 비활성화 한 다음 이전보다 효율적이지 않다고 불평합니다.
당신이 사용하는 더 편안하게 느끼는 경우 : 사용 정력에 유일한 규칙은 효율적으로 사용하는 것입니다 Left및 Right이상 h과 l 그것을 할, 화살표 키를 사용합니다. set mouse=a
마우스를 사용하려면 Vim에 옵션이 있습니다!
당신은 정력과 더 나은 다른 가능한 움직임으로 얻을 익숙해지면 ( f, t, ,, ;, w, b, e, ge, 그리고 기본적으로 모든 :h quickref
) 당신은 당신이 사용 화살표 키를하지 많은 것을 할 것을 깨닫게 수 있습니다. 그리고 여전히 그것들을 사용한다면 문제가되지 않습니다. 가장 효율적인 것을 사용하십시오.
참고 더 효율적인 효율성을 위해 홈 행을 떠나지 않는다는 주장은 내 의견으로는 그다지 좋지 않습니다. vim이 hjkl 을 사용하는 이유를 살펴보면 화살표가 없기 때문에이 키가 선택 되었음을 알 수 있습니다 Vi가 쓰여졌을 때 키. 아마도 현재 키보드가 다르면 화살표 키를 사용하지 않는 것이 좋습니다.
답변
이것이 더 이상 관련이 있는지 모르겠지만, 나는 오래된 타이머이므로 약간의 역사가 있습니다.
예전에는 VT100 터미널에 화살표 키가 있었지만 하나를 누르면 <ESC>[A
위, <ESC>[B
아래 등 의 이스케이프 시퀀스를 전송했습니다 .
또한 9600 보드에서 통신하는 직렬 터미널이기 때문에 사용자가 키를 너무 빨리 누를 수있었습니다 한 번의 키 누름으로 이전의 키 누름 순서를 중단시키고 혼동되는 전체 순서를 전송 vi.
이로 인해 vi가 삽입 모드로 들어 가지 않고 아래쪽 화살표를 누른 상태에서 파일에 [B [B [B [B [B [B]를 삽입하십시오.) 삽입 모드로 들어가야하는이 시퀀스에 대해 아무것도없고 ESC 문자로 시작하는 각 시퀀스가 삽입 모드를 종료해야한다는 사실 때문에 설명 할 수 없습니다. 그러나 여전히 쓰레기를 넣을 것입니다. 항상 그런 것은 아닙니다. 급한 때에 말입니다.
한 사람은 이것에 빨리 질려서 hjkl
열쇠를 고집하기로 결정했습니다 .
답변
@statox에 동의하지만 화살표 키를 사용하기로 선택한 경우 아무도 징계, 기피, 파문 또는 타락 및 깃털을 깎아서는 안된다는 것에 동의합니다 … 열린 마음을 가진 새로운 사용자에게 지침을 제공하는 경우 많은 laissez-faire 태도. 모범 사례를 따르는 것으로 시작하는 것이 좋습니다. 그것들은 이유를위한 “모범 사례”입니다. 그들은 당신과 저보다 먼저 온 많은 사람들에게 좋은 효과를주기 위해 고용되었습니다.
심지어 Vim의 도움 조차도 과장되어 있지는 않지만 ( ” 매우 느리게”) 그 방향으로 너를 조금씩 움직입니다 .
화살표 키를 사용하여 커서를 이동할 수도 있습니다. 그러나 화살표 키를 누르기 때문에 편집 속도가 크게 느려지면 텍스트 키에서 화살표 키로 손을 움직여야합니다. 한 시간에 수백 번 수행하는 것을 고려하면 상당한 시간이 걸릴 수 있습니다.
또한 처음에 선택하는 것이 무엇이든 미래에 변화를 원한다면 깨지기 어려운 습관이 될 수 있다는 사실도 있습니다. 그렇다면 화살표 키를 사용하는 것이 비효율적이거나 손목 살상을 당할 가능성보다 지금 권장되는 습관을 취하지 않는 이유 는 무엇입니까?
대체로, 화살표 키없이 일을하기 위해 정직한 노력을 고려하십시오. 적당한 시간이 지나면 위 / 아래 / 왼쪽 / 오른쪽없이 살 수 없다면 …하지 마십시오.
… 내 의견에 관심이있는 새로운 사용자에게 할 말입니다. 당신이 동의하지 않는다면 개인적으로 받아들이지 마십시오 (나는 당신과 대화하고 있습니다.
답변
다른 답변에 따르면, 홈 행에서 손을 움직일 때의 효율성 손실은 그다지 중요하지 않으며 대부분 동의합니다. 그러나 무엇 이며 큰 문제는, 정력 학습 항상 정상 모드로 전환 등을 방지하기 위해 화살표 키를 사용하면된다.
하나의 사용 즉, ←단일 사용했을 h생산성에 큰 손실되지 않습니다,하지만 사용하여 ←←←←←←←←←←당신이 사용했을 수있는 곳 EscI 입니다 엄청난 손실.
그래서 사람들이 vim을 배울 때 화살표 키를 피하라고 지시하는 이유는 삽입 모드를 떠나지 않고 일반 모드를 배우도록 강요하기 때문입니다. 일반 모드는 모든 효율성 향상이있는 곳입니다.
답변
사람들이 화살표 키를 사용하지 말아야하는 이유는 두 가지입니다. 어떤 사람들은 hjkl이 홈 행에 손을 유지하기 때문에 선호한다고 주장 하지만 이는 거짓 이 아니라 중요하지 않습니다. 나 자신을 포함한 다른 사람들은 문자를 몇 개 이상 움직이면 화살표 키를 사용하지 말고 hjkl도 사용해서는 안된다고 말합니다.
중요한 것은 사용 하는 키가 아니라 몇 개의 키인지 입니다. 당신이 단어의 시작으로 이동하려면, 당신은 명중하지 않습니다 hhh
; 당신은 때렸다 b
. 단어의 끝은 e
아닙니다 llll
. 줄의 시작 : 0
, 줄의 끝 : $
. 그리고 /search
당신이 가고 싶은 곳에 존재하는 텍스트에 대해 더 나아가십시오. (또는 원하는 고급 이동 명령 중 하나).
그러나 같은 키를 두 번 이상 연속해서 입력하면 더 좋은 방법이 있습니다.
답변
보다 정확한 설명은 “화살표 키를 사용하는 것이 좋지 않은데 vim을 더 잘 배우려고 노력하는 것은 나쁜 습관 “ 입니다. vim을 처음 사용하는 사람들은 화살표 키를 사용하여 hjkl
익숙해 지므로 배우지 않으므로 이것이 바람직한 지 알 수 없습니다.
개인적으로 vim에 대한 일반적인 지식을 얻은 후에 는 화살표 키 를 잠시 비활성화하여 잠시 중단 hjkl
하고 나중에 다시 활성화했습니다 .vimrc
. 제 경우에는 기존의 지혜가 있습니다. 일단 hjkl
화살표 키와 화살표 키를 모두 사용하는 방법을 알고 나면 거의 전적으로 전자 를 사용한다는 것을 알았습니다 .
답변
일반적인 대답은 효율성과 관련이 있습니다. 수년 동안 asdf와 jkl;을 계속 사용하는 터치 타이핑을 사용하도록 훈련을 받았을 것입니다. Vi의 주요 바인딩 대부분은 hjkl 이동 명령을 포함하여이 사실을 중심으로 설계되었습니다.
개인적으로 나는 실제로 둘 다 사용합니다. 큰 텍스트 섹션을 적극적으로 편집 할 때는 hjkl을 사용하고 로그 파일을 스크롤 할 때는 화살표 키를 사용합니다 (파일 전체에서 스팟 편집을 수행 할 때는 |, g 및 /). 이것은 단지 나에게 잘 맞는 일이며, 이런 경우 정말 중요합니다.