카테고리 보관물: vi

vi

일반 모드에서 화살표 키를 사용하는 것이 나쁜 습관으로 간주되는 이유는 무엇입니까? 예 :)에서

나는 많은 기사 ( :)에서 정상 모드에서 화살표 키를 사용하는 것이 좋지 않다는 것을 읽었습니다 . 누군가 왜 그것이 잘못된 습관으로 간주되는지 설명 할 수 있습니까?



답변

실제로 이것은 나쁜 습관이 아닙니다.

많은 사람들 ( @B Layer의 답변이 보여주는 Vim의 문서 포함 ) 화살표 키를 사용하면 손이 홈 행 (키보드의 두 번째 줄)에서 움직이고 hjkl덜 효율적 이기 때문에 화살표 키를 사용하지 않아야한다고 주장합니다. .

이것은 (IMO) vim “purists”circle jerk의 나쁜 결과입니다. 새로운 사용자는 이것을 맹목적으로 따르고 일부는 심지어 화살표 키를 비활성화 한 다음 이전보다 효율적이지 않다고 불평합니다.

당신이 사용하는 더 편안하게 느끼는 경우 : 사용 정력에 유일한 규칙은 효율적으로 사용하는 것입니다 LeftRight이상 hl 그것을 할, 화살표 키를 사용합니다. 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 및 /). 이것은 단지 나에게 잘 맞는 일이며, 이런 경우 정말 중요합니다.