[Xcode] Xcode 13.0+ 에서 Vim 사용하기

2 minute read

Xcode 13부터는 Vim Editor가 지원된다고 하네요. 평소에 Vim은 podfile을 편집할 때만 써왔는데, 사용하는 건 insert 모드와 :wq 뿐이었기 때문에 vim을 제대로 썼던 적은 잘 없습니다. 그래도 Vim을 사용하면 방향키나 마우스로 왔다갔다 하지 않아도 되므로 한 번 적응해보려고 합니다. 그래서 이번 글에서는 Xcode에서 한동안 Vim을 써보고 사용법을 정리해보았습니다.

Xcode에서 Vim Mode 켜기

Xcode 13.0 이상인 경우 Editor 에서 Vim Mode 를 찾아 켜주면 Vim을 사용할 수 있습니다. Xcode 13

Vim 사용하기

들어가기 전 : 만일 시키는대로 움직이지 않는다면 현재 한글키보드인지 설정되었는지 확인해 보면 좋습니다

간단히 제가 유용히 사용하는 명령어, 키를 정리해두었습니다.

1. 모드 전환

  • Normal Mode : esc

  • Insert Mode : 무엇이든 입력하고 싶을 때 i 를 눌러 insert mode로 변환할 수 있습니다. 이때 커서는 선택된 영역 바로 앞에 들어가게 됩니다. 더 다양한 옵션은 아래의 표를 참고해주세요.

    카테고리 기능
    Insert i 커서 위치에 Insert
      I 줄 맨 앞에서 Insert
      a 커서 다음에 Insert
      A 줄 맨 뒤에서 Insert
      o 커서 아래로 한 줄 띄우고 Insert
      O 커서 위로 한 줄 띄우고 Insert
  • Visual Mode : 내용을 선택하고자 할 때 visual mode를 선택합니다. 대문자 V 는 줄 단위 , 소문자 v 는 자유롭게 선택할 수 있도록 합니다.

2. 커서 움직이기

아래에 적어놓은 것들은 insert mode에서는 안 되고 normal mode와 visual mode에서 사용합니다.

  • h, j, k, l : 일렬로 놓인 키가 각각 좌, 아래, 위, 우로의 커서 이동을 담당
  • w : 다음 단어의 처음 글자로 이동
  • b : 해당 단어의 처음 글자로 이동(앞으로)
  • e : 해당 단어의 마지막 글자로 이동
  • f : f 뒤에서 찾고자 하는 character 중 가장 가까운 character를 찾아줍니다.
  • ^ : 문장 맨 앞으로 이동합니다.
  • $ : 문장 맨 뒤로 이동합니다.
  • gg : 문서의 맨 앞으로 이동합니다.
  • G : 문서 맨 아래로 이동합니다.
  • {, } : 각각 단락의 앞, 뒤로 커서를 이동할 때, 사용합니다.

3. 편집

  • x : 선택된 영역을 지우는 명령을 수행합니다.
  • r : 선택된 영역을 r 다음에 쓴 글자로 바꿀 수 있습니다.
  • ~ : 현재 커서가 위치한 글자의 대/소문자를 바꿔줍니다. 현재 커서의 글자가 소문자이면 대문자로, 대문자이면 소문자로 바꿔줍니다.
  • y : 복사하는 기능을 수행합니다.
  • p : 붙여넣기를 합니다.
  • dd : 한줄 전체를 지웁니다.
  • u : 실행취소를 합니다.

Vim을 배우기 위한 툴 소개

Vim Adventures

귀여운 게임 형식으로 Vim을 익힐 수 있는 사이트 Vim Adventures 를 추천합니다. 다만 level3까지만 무료인 것이 문제라면 문제랄까요..

Vim Adventures

저는 그래서 생각없이 유튭에 올라와있는 Vim Adventures 게임하는 영상을 보면서 익히고 Xcode에서 써봤습니다.

vimtutor

터미널에 vimtutor를 입력하니 정말 잘 되어있는 문서가 있네요. 해보니 정말 잘 되어 있어서 처음 vim을 쓸 때부터 배우기 좋을 것 같습니다.

Vim tutor


Vim을 어느 정도 쓰다 보니 마크다운에 문서를 쓸 때도 자꾸만 커서 움직이는 단축키를 누르려고 하는 제자신을 발견하게 되네요..ㅎㅎ 이렇게 vim 파가 되어가는 것일까요. 한글 키에서도 vim 단축키가 먹는다면 더 좋겠지만 Xcode에서 vim mode는 그래도 나름 만족스럽네요. 마우스 없이 개발할 수 있는 경지를 꿈꾸면서 여기서 줄이겠습니다. 그럼 이만 총총..

Categories: ,

Updated:

Comments