티스토리 뷰

KLDP를 돌아다니다가 강좌글: Vi/Vim 단축키 모음에서 유용한 명령어요약을 찾았다.



옷! 이거 좋잖아! 라고 인쇄하려 했으나... CMYK중에서 Yellow, blacK만 멀쩡한지 컬러가 노란색 투성이가 됐다;;


각설하고, 이것 자체로도 vim배우기에 상당히 유용할 것 같지만, 호기심에 저것의 출처인 viemu사이트를 방문해 보았다.


그 홈피 메인에 있던 gif파일이 바로 아래이다.



딱 보고 느낀 점은, “무진장 실전적이다!” (실제로 그런지는 차치하고)


아직 hjkl보다 방향키를 쓰는 초보, 이걸 보고 연습해보기로 했다.


과정을 공유해보려고 한다. 저 그림은 좀 빠르고 쓰는 키를 전부 알기 힘들어 (내가 촙이라서 그렇겠지..ㅠㅠ) 조사해보았다.


참고로 나는 VsVim로 실습했다. vsemu는 30일 기간한정이니.


ViEmu.cpp

처음 상태의 파일이다. 타이핑도 귀찮은 사람들을 위해 내가 타이핑한 파일을 업로드 해놨다.



yyp를 치면 커서가 위치한 줄이 복사된다. 이걸 gif파일로 y?까지는 알 수 있었는데 y$을 시도로 삽질했다 ㄱ-

아무래도 y$은 개행문자를 복사해주지 않는 것 같다.

yy는 현재 줄 복사, p는 붙여넣기다.



gif파일을 보면 순식간에 커서가 i가 있는 위치로 텔레포트한다!

명령어는 2fi

f가 문자를 찾는 명령어인데, fi만 치면 첫번째 i가 있는 위치로 이동하게 된다.

2fi는 fi를 2번 반복하므로 두 번째i가 있는 곳으로 곧바로 이동하게 된다.



두 글자가 지워졌다. 

명령어는 2s

맨 위에 치트시트보면 s가 '단어 삭제 후 편집모드'라고 나와있는데, 단어가 아니라 문자다. (영문판에 char이라고.)

즉, 2번 반복해 문자를 삭제한 후 편집모드로 들어간 거다.

cw도 가능하다. 현재 문자부터 단어 끝까지 바꾸는 명령어이다.

dw나 2x는 안 되는 이유는 편집모드로 들어가지 않고 명령모드를 유지하기 때문. 명령모드가 계속 필요할 땐 이걸 쓰면 되겠죠?



아까 편집모드에서 lib를 치고 esc키로 명령모드로 돌아온다.

그러고 acc위치를 따라 기준으로 커서가 2번 이동하는데, 명령어는 /acc

n

이다. /{pattern}은 찾기 명령어이고, n은 다음 찾기 명령어이므로 커서가 그림의 위치로 이동하게 된다.



이전 사진에서 o를 눌러주면 '다음 줄에 편집모드'가 된다. vim에는 편집모드로 들어가는 방법이 여러가지가 있는데, 전부 시기적절한 때가 있는 것 같다. (이 상황에서 i를 쓰면 좀 귀찮아질 것이다.)
그러고 printf("%d\n", acc);입력. 도중에 Auto complete기능을 사용했지만 그건 VC++기능이니 생략.
esc키로 명령모드로 탈출하자.


명령모드에서 k를 눌러주면 위로 이동.

이제 이 줄을 '자동 들여쓰기' 하는데, 두 가지 방법이 있다.

gif파일에서는 그 줄을 비주얼 모드로 선택하고 자동들여쓰기 명령을 썼다. 즉 V=

그리고 꼭 비주얼 선택을 하지 않아도 ==를 쓰면 그 줄을 자동들여쓰기 해주는 것 같다.

상태표시줄에 다음에 실행할 명령어 보인다.

%s/unsigned/int/g

파일 전체에서(%s) unsigned를 int로 전부 치환(g)이다. 맨 위 치트시트에도 나와있고, 자세한 의미는 구글링을 구글링 ㄱㄱ (사실 내 이해가 부족한..;;)


오오미.. 이게 뭐다냐;; 파일이 뒤집혔다;;

일단 int가 unsigned로 바뀐 것은 알 수 있을 것이다. 그 담에 :w명령어로 파일을 저장하는데, 별로 중요친 않고,

저렇게 만든 명령어는 :g/^/m0이다. 모든 줄을 선택한 다음 파일 각각의 줄을 파일 맨 처음으로 이동시키는데,

처음 줄부터 순서대로 이동되므로 맨 마지막 줄이 맨 처음줄이 되어 파일이 줄 단위로 뒤집힌다.

근데 별로 실용성은 없어보인다 ㅡㅡ;

내가 실습한 vsvim에서는 맨 처음 줄만 대상에서 제외되어서 오동작해버렸다. 버근가?

끝났다고 상태표시줄에 웃는 이모티콘 :)을 친 모습이 보인다 ㅎㅎ 끝!


vim은 혼자서 연습하는게 아니라 다른 사람이 사용하는 모습을 보면 더 빨리 익힐 수 있을 것 같은데..

이런 실전 예제들 많이 없으려나?


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함