생각보다 많이 누르게 되는 백스페이스
어느날 문득 키보드 타건을 하면서 백스페이스를 누를 경우가 너무 많다는 걸 깨달았다. 열 손가락을 사용하여 타이핑을 하는 속도에 비해 한 손가락을 사용하여 작성했던 내용을 지우기 위해 백스페이스를 연타하는 것이 너무 지루하게 느껴졌다.
그래서 백스페이스가 양쪽에 두 개가 있으면 훨씬 빠른 교정을 할 수 있겠다고도 생각했다. 가령 백스페이스 키가 두 개로 나뉘어져있다면, 더욱 빠른 연타가 가능할 것이라고 말이다. 그렇다고 백스페이스 키의 갯수를 늘릴 수는 없기에, 어떻게 하면 백스페이스 키를 덜 누를 수 있을까를 고민하기 시작했다.(백스페이스 키를 늘릴 생각을 하기 전에 이걸 먼저 생각했어야 하는거 아닌가... 순서가 조금 이상하지만 아무튼)
효과적인 타건을 위한 제안
집중하여 무언가를 타건하고 있는 도중에 오타가 발생하면, 그것은 방해다. 가능하면 줄여야 한다. 그렇게 나의 나쁜 타건 습관을 되돌아보게 되었다.
문제의 정의는 간단했다. 정해진 키를 정해진 손가락으로 누르지 않는 것.
정해진 키를 정해진 손가락으로 누르는 것이 오타를 발생시키지 않는 중요한 이유는 다음과 같다. 키보드의 home row 위 손가락을 유지한 채로 특정 키를 누를 때마다 사용되는 근육들의 일관된 동작을 유도하기 위해서다. 운동을 배울 때도 항상 기본 자세가 중요하지 않던가. 기본 자세에 나를 가두려(?) 연습하는 행위는 결국, 특정 기술을 사용할 때 관련 근육들이 일관되게 움직이게 해주어 (특히 구기종목에서) 의도한 방향으로 동작이 수행되게 한다.
백스페이스는 소지로 누르자
나도 모르게 십년 넘게 백스페이스를 약지로 누르고 있었다. 이건 상당한 비효율인데, 약지로 백스페이스를 누르게 되면 home row 를 유지하기 힘들게 된다. 해보면 알겠지만, 약지로 백스페이스를 누르게 되면 오른쪽 검지가 J 에서 상당히 벗어나게 된다. (이런건 영상으로 설명해야 훨씬 효과적일 것 같은데 언젠가는 유튜브로 보여주고 싶다.)
만약, 당신이 다른 손가락으로 백스페이스를 누르고 있다면, 의도적으로 소지로 누르기를 연습해보도록 하자. 오타가 발생하기가 무섭게 사냥감을 덮치는 재규어처럼 튀어나가는 소지를 발견하게 될 것이다.
상단 숫자키패드도 연습을 해두자
풀배열 키보드에는 오른쪽에 별도의 숫자를 위한 숫자키패드가 마련되어있다. 숫자를 자주 입력해야 하는 업무라면, 당연히 숫자 키패드를 사용하는 것이 효율적이라는 점을 미리 말해둔다.
하지만, 개발자에게는 키보드 상단의 숫자 키패드를 사용하는 경우가 생각보다 잦다. 이 역시 home row 를 최대한 벗어나지 않기 위한 방법이다.
숫자키에도 home row 처럼 숫자 4에는 왼손 검지를, 숫자 6에는 오른손 검지를 올려두고, 키보드를 내려다보지 않고도 원하는 숫자를 입력할 수 있도록 만들어두자. 변수명에 숫자가 포함되거나, for 문을 작성할 때 중간 중간 숫자를 써야 할 때 등, 키보드를 내려다보지 않아도 된다는 점은 상당한 통쾌함을 선사한다.
다음 사이트에서 숫자키패드 연습을 해볼 수 있다. (더 나은 사이트들도 많은것 같다.)
별도로 특수문자도 외워두면 좋을 것 같다. (나는 아직 이 부분은 미흡하다.)
특수문자도 가능하면 정해진 손가락으로
개발자는 특히 엔터키 주변에 모여있는 특수문자를 누를 일이 많다.
-, +, _, +, [, ], {, }, ;, :, ", ', ., >,<, /, ?, |, \, (, )
재밌는건, 얘네들 거의 대부분을 소지로 쳐야한다는 점이다. 그래서 특수문자 또한 소지로만 치는 연습을 해두는게 어떨까 제안해본다. 물론, 여기에는 적당한 예외를 두는 것도 좋을 것 같다. {} 이렇게 입력을 해야하는 상황들도 많은데, 둘 다 소지로 번갈아 치기보다는, 약지, 소지 연속으로 치는게 편하니까.
여기서는 for 문을 타이핑해보면 좋은 연습이 될 것 같다. (요즘엔 다 스니펫 쓰겠지만)
다음 코드를 얼마나 오타 없이 깔끔하게 칠 수 있을것인가?
for (int i = 0; i < 100; i++) {
// Do something
}
양 쪽의 shift 를 모두 활용하자
내 문제는, 왼쪽 shift 만 활용했었다는 것이다. 그러다보니, 의도치 않게 shift 가 눌려지는 경우가 많았다. 나는 몇개월간의 교정을 통해 양쪽 shift 를 누르는 연습을 해오고 있지만 아직도 익숙치는 않지만, 그래도 어색한 느낌은 사라졌다. 처음엔 나도 모르게 익숙한 shift 를 쓰는 경우가 많았는데, 그런 경우 스스로 패널티를 주어 입력했던 글자들을 모두 삭제하고, 다시 정확한 shift 를 사용하여 입력했다.
WPM 높이기
한국에서는 '몇타친다'라는 말이 익숙하지만, 서양권에서는 타건 속도의 단위로 WPM 을 사용한다. Word Per Minute 의 약자로, 1분에 몇 단어를 쳤는가이다. 1단어의 길이가 명확하지는 않지만, 평균적으로 5글자라고 보면, WPM 곱하기 5를 한 숫자가 한국에서 말하는 '몇 타 친다'에 대응된다고 볼 수 있다.
아무튼, 개발자는 한글보다 영어를 입력할 일이 많다. 그렇다면, 영타를 치는 속도가 빠르면 그만큼, 내 머릿속에 있는 코드를 보다 시원하게 컴퓨터로 옮길 수 있지 않을까? (단, 프로그래밍 실력과 타건 속도가 상관관계가 있다는 것은 절대 아니다.)
서양권에서는 평균 65~75WPM 정도의 속도로 타건을 한다고 하며, 80WPM 이면 빠른 속도, 90WPM 이면 굉장히 빠른 속도라고 생각하면 가늠이 될 것 같다.
내가 생각하는 타자속도의 관건은 역시 home row 를 제대로 지키는가이다. 그리고, 다섯 손가락을 모두 사용해서 타건을 해주어야 한다. 이를 연습할 수 있는 사이트를 하나 소개한다.
언뜻 아이들을 위한 UI 처럼 보이지만, 시각적인 타건감(타격감이라고 해도 될정도?)이 생각보다 시원스럽다. 오타가 자주 나는 키(알파벳), 알파벳별 속도 등 훌륭한 피드백을 제공한다.
총 685 개의 미션으로 이루어져있는데, 각 미션마다 약 2분정도의 시간이 소요된다.
나같은 경우, 처음엔 50~60 WPM 으로 시작했다가, 모든 미션을 마칠 즈음에는 70~80 WPM 으로 마무리하였다. 별 3개를 채우면서 진행하다보면, 당신도 타건속도를 향상시킬 수 있을 것이다.