[vim] vim 에디터 학습 1일차 - 개요 및 방향키

반응형
반응형

vim은 정규식, 리눅스 명령어와 함께 개발자가 학습하면 좋은 것들중 하나라고 생각합니다.
왜냐하면 웹이나 앱을 배포하기 위해서는 윈도우 보다는 리눅스를 많이 사용하는 편입니다.
또 vim은 다른 에디터와 달리 마우스가 없었던 시절에 만든 에디터라
키보드만 사용해서 코딩을 하는것이 가능합니다.
다만 타 에디터에 비해 배우는 것이 굉장히 어렵다고 전해집니다.(물론 emacs빼구요)

이게 vim과 emacs의 학습곡선인데 
vim같은 경우 어느정도 까지 학습을 하게 되면 그 다음부터는 일정하다는 것을 알 수 있습니다.

물론 그렇다고 vim을 모르는 상태에서도 vim을 사용이 불가한것은 아닙니다.
i , q , wq만 알고 있으면 vim을 사용할 수 있기 때문입니다.
i쓰고 방향키 쓰면 되니까요.. ㅎㅎ;

그런데 이렇게 사용하는 것이 진짜 vim을 사용하는 것일까요?
어차피 나중에 학습해야 될거 지금 미리 미리 학습해 두면 좋을 것 같아서 이렇게 학습하게 되었습니다.

윈도우 같은 경우 vim을 사용하기 위해 vim전용? 프로그램을 설치해야 되지만,
mac 또는 리눅스는 vim이 설치되어있다고 합니다.
(윈7은 없는건 확실하지만 윈10은 잘모르겠네요ㅎㅎ)

맥에서는 터미널에서 vi 또는 vim을 입력하면 vim에디터를 사용할 수 있습니다.

맥에서 vi 또는 vim으로 vim에디터를 들어오면 다음같은 화면을 확인 할 수 있습니다.

하지만 지금 상태에서는 저장 할 수 없습니다.
왜냐하면 이 상태는 파일이 아니기 때문입니다. 단지 main화면일 뿐입니다.
저건 vscode를 키고 파일을 생성하지 않고 저장하는 행위와 같습니다.

아무튼 파일을 만들려면

vi test.txt

또는

vim test.txt

이를 해석하면 vi를 통해 다음 파일을 만든다는 뜻입니다.
만들려고 하는 파일의 확장자에 맞게 사용하면 될것 같습니다.

그럼 만들어보겠습니다.

그러면 이렇게 빈 화면을 확인 할 수 있습니다.
근데 생각해보면 이 상태에서는 아무것도 할 수 없습니다.
그러니 뭐라도 입력해 봅시다.

이런식으로 :i를 입력하게 되면 입력상태가 되어지는데
여기서 아무거나 입력을 해보죠
: 같은 경우는 vim에서 명령어를 입력하는 방법 입니다.

이런식으로 대충 입력했습니다.
이제 저장하는 방법에 대해 설명하겠습니다.
저장은 :w를 사용하면 됩니다.
그리고 나가고 싶으면 q를 추가하면 되고
변경사항 없이 나갈떄는 q단독으로 
저장하지 않고 나갈떄는 q!을 사용하게 됩니다.

이번에 학습할 주제는 방향키입니다.
확실하지는 않지만 vim에디터가 만들었던 시기에는 키보드에 방향키가 없었다고 합니다.
뭐 그때 없든 그거는 상관이 없지만
방향키보다 더 효율적으로 이동이 가능하다고 합니다.
왜나하면 방향키를 사용할시 손과 손이 거리가 멀게 느껴질 때가 있다고 합니다.

사실 이딴거 다 필요 없고
방향키를 쓰는 것이 진짜 vim을 사용하는 거라고 할 수 있을까요?

vim 전용 방향키

vim에서는 h j k l를 통해 이동이 가능합니다.
이것은 어떤것이 약자로 기억하는것은 아니라고 생각합니다.
왜냐하면 h를 high라 생각해서 위라 생각하면 곤란하거든요

h가 왼쪽에 있으니 왼쪽
l이 오른쪽에 있으니 오른쪽이라 생가하면 되구
j가 아래 ,k가 위입니다.

딱히 j가 아래인 이유는 모르겠네요 
저는 그냥 k는 king이 있으니 위라고 외웠습니다. 

또 숫자와 함께 입력하면 숫자 만큼 이동이 가능합니다.
그러니까 3l하면 오른쪽으로 3칸 이런식으로요

근데 방향키만 가지고 이동하는 것은 비효율적이라 생각이 듭니다.
왜냐하면

특정 단어를 찾아야 할경우 특정 위치로 가야 할경우 
굉장히 비효율적이기 때문입니다. 예를들어 맨 윗줄에서 m을 찾아간다고 했을때

l를 몇번눌러야 할까요?
아니면 어떤 숫자랑 같이 눌러야 할까요?

솔직히 잘 모르겠습니다. 얼마만큼 떨어졌는지 알 수 있다면 숫자를 누르는것이 좋을지도 모르겠지만,
숫자를 알기 위해서는 단번에 알던가 아니면 몇번째 칸인지 세야 합니다.

한칸씩 이동하는 것이 아니라 단어 단위로 이동하면 조금더 쉽게 찾을 수 있을 것 같습니다.

한 단어씩 이동

정방향으로 이동할때는 
w를 이용하게 됩니다.

그렇다면 역방향은 어떻게 할까요?

바로 b를 누르면 됩니다.
하지만 이들의 단점은 특수 기호존재할 경우, 단어 하나로 인식하게 되어집니다.
이것을 방지하고자 대문자로 변환시켜서 누르게 되면 단어는 공백단위로 인식하게 됩니다.

또한, e를 누르게 되면 단어의 끝으로 이동하게 되어집니다. 이때는 정방향입니다.

그러면 w와의 차이점은 w는 단어의 앞글자이고 e는 마지막 글자라는 것을 알 수 있습니다.
이때도 숫자와 함께 사용하게 되면 숫자만큼 이동하게 됩니다.
예를들어 3w같은 경우 현재 위치에서 오른쪽으로 3번째 단어로 이동하게 됩니다.

반응형

댓글

Designed by JB FACTORY