Más contenido relacionado La actualidad más candente (20) Vim 강의2. 발표자?
• 잉여잉여한 대학생
• 걍 간지나서 vim을 사용하기 시작
• dd 하나 때문에 IDE를 사용을 못 해먹겠는 체질이 됨
• vim을 쓰겠다는 도전적인 불쌍한 사람들이 많아서 발표
8. ADM3A
• ESC 위치가 지금 키보드와 달리 Tab에 위치함
• Ctrl의 경우 Caps Lock에 있음 (emacs가 이걸 이용)
• 방향키가 존재 안 함 = hjkl을 방향키처럼 사용
9. Keyboard?
• 현재 몇몇 키보드는 이 형식을 지원하기도 함
• 미니 키보드 형식으로 ESC가 자판에 가깝게
• Caps Lock <-> Ctrl 교체 등등 지원
10. 태초에 도스창이 있었다
• GUI 아님 / Command Line Interface (== 도스창)
• 마우스가 없었음
• 쓸 수 있는 건 키보드 뿐
11. 태초에 터미널이 있었다
• GUI 아님 / Command Line Interface (== 터미널)
• 마우스가 없었음
• 쓸 수 있는 건 키보드 뿐
12. 태초에 터미널이 있었다
• OS X / Linux 모두 기본적으로 vi 혹은 vim이 탑재
• 터미널을 열고 vi 라고 쳐 보면 바로 열림
• 이 상태 vs 메모장 하면 100% 메모장이 승리함 (진짜 중요)
13. 태초에 터미널이 있었다
• 왜 쓰는지 알게 되는 시점까지 엄청 오래걸림
• vim/터미널은 쓰면 쓸 수록 배울게 많은 편
• 발표자도 모르는 기능 산더미처럼 많음
14. 태초에 터미널이 있었다
• 취향도 많이 타는 편
• IDE와는 상당히 다른 모습을 보여줌
• 근데, Visual Studio에서 vi 명령어 플러그인이 존재 함
16. OS X는요?
• 팩키지 관리자 깔기 ( Homebrew / Macports / Fink)
• iTerm2 깐 후, 팩키지 관리자로 MacVim 깔기
• vi ~/.profile 로 터미널 프로파일 수정 (잠시만 배우지도 않은 vi를?)
17. OS X는요?
• alias vi=“mvim -v”
• alias vim=“mvim -v”
• 이 두 가지 ~/.profile에 추가해두고 시작하는게 편함 (권장)
18. OS X는요?
• 정말 귀찮다면 기본 터미널에 기본 vi 쓰면 됨
• 맥 사고 Macvim 몰라서 발표자도 생으로 vi 6개월 썼음
• 주변에 이런거 알려주는 사람이 하나도 없으면 이럼 ㅠㅠ
20. Windows는요?
• gvim을 깐다 (www.vim.org) = 변태
• VM에 리눅스를 올리고 vim을 쓴다 = 왕변태
• 리눅스 서버를 구축하고 SSH로 접속해서 쓴다 = 초변태
21. Windows는요?
• Visual Studio에 익숙하다면 VsVim을 쓰는 것도 방법
• https://visualstudiogallery.msdn.microsoft.com/
59ca71b3-a4a3-46ca-8fe1-0e90e3f79329
24. 세 모드들
• Command Mode : 간단한 명령 입력
• Bottom-Line Mode : 복잡한 명령 입력
• Insert Mode : 편집 모드 (메모장이랑 같음)
25. 세 모드들
• 사실 복잡해 보이지만 간단함
• 편집 중 ESC -> 명령 실행 -> ioas로 편집 모드로 진입
• -> 다시 편집 시작 -> ESC -> 명령 실행 -> (무한반복)
31. Command Mode
• 주로 쓰는 것들은 한정적임 (그것만 알아도 되긴 함)
✴ 편집모드로 들어가는 키 - i, o, a, s
✴ 각종 텍스트를 주무르는 명령어들
33. to Insert Mode
• i : 제일 많이 쓸 키, 커서부터 바로 쓰기
• o : 다음 라인에 새로 쓰기
• a : 뒤에 덧붙여서 쓰기
• s : 삭제하고 쓰기
34. to Insert Mode
• I : 라인 처음부터 쓰기
• O : 이전 라인에 새로 쓰기
• A : 줄 끝에 덧붙이기
• S : 줄을 날려버리고 처음부터 쓰기 (쓸 데 꽤 많음)
36. 주로 쓰는 것들
• dd = 라인 삭제
• gg = 맨 첫 줄로
• G = 맨 끝 줄로
• > , < = 들여쓰기 한 칸 넣기, 한 칸 빼기
37. 주로 쓰는 것들
• u = 실행취소
• yy = 줄 복사
• p = 붙여넣기
• = = 들여쓰기 자동 정렬
38. 주로 쓰는 것들
• 여기서 주목해야할 것은
✴ shift와의 조합
✴ 숫자와의 조합
✴ 다른 명령어와 조합
39. 주로 쓰는 것들
• Shift와 사용할 경우?
• 뭔가 부가적인 기능이나 방향이 반전 되 있음
• 명령어 외우기 시작하면서 익숙해짐
• o <-> O i <-> I gg <-> G
40. 주로 쓰는 것들
• 숫자 + 단축키 = 숫자 만큼 단축키 실행
• 5gg = 맨 위에서 5칸 아래로 커서 이동
• 5dd = 5줄 삭제
• 5> = 5줄 1칸 들여쓰기
41. 주로 쓰는 것들
• vim쓰는 주된 이유
• 여러 명령어와 조합이 가능하다는 게 장점
• 숫자 + 명령어1 + 명령어2 이런식으로 조합
• 뒤에 나올 bottom-line-mode에서도 동일하게 적용
42. 주로 쓰는 것들
• d = 삭제, w = 단어
• dw = 단어 삭제 (delete word)
• gg = 맨 처음줄로, = = 자동 들여쓰기, G = 맨 끝줄로
• gg=G = 처음부터 끝까지 다시 자동 들여쓰기
44. 황무지를 개척하자
• :set nu = 라인 넘버
• :set ai = 엔터 후 들여쓰기
• :colorscheme (scheme name) = 컬러스킴 설정
• :syntax on = 문법 강조 키기
45. 황무지를 개척하자
• :set ts=4 = 탭 사이즈 4로
• :set autoindent = 자동 들여쓰기 키기
• :set smartindent = 자동 들여쓰기 키기 (2)
• :set shiftwidth=4 = 자동 들여쓰기 간격 4로
46. 저장을 해야지!
• :w = write
• :q = quit
• :wq = write & quit
• :q! = quit (force)
47. 저장을 해야지!
• :x == :wq
• :o filename = open filename
• ZZ = 저장 후 나가기
• ZQ = 저장 없이 나가기
48. 쓸만한 것들?
• :sh = 콘솔로 다시 넘어감, exit 치면 다시 vi로 옴
• :!(콘솔 명령어) = 콘솔 명령어 실행
• :!ls = ls를 실행 시키고 보여줌줌
• :r!(콘솔 명령어) = 콘솔 명령어 실행 후 출력을 vi에 삽입
49. 쓸만한 것들?
• :tabnew = 새로운 탭 열기, :o 와 비슷함
• :tabn [n] = n만큼 다음 탭으로
• :tabp [n] = n만큼 이전 탭으로
• :tabs = 탭들 목록 보여주기
51. Visual Mode
• 그런거 존재 하나요?
• 쓸 수는 있지만 그렇게 권장을 안 하는 모드
• 마우스 클릭 후 드래그 같은게 비주얼 모드에서 작동
55. Color Scheme
• 간단하게 말하면 syntax highlight 설정
• /colors 폴더 아래에 컬러 스킴 .vim 파일을 넣으면 됨
• 자작도 가능하나 걍 다운 받는게 정신건강상 좋음
56. Color Scheme
• OS X의 경우 터미널 컬러 프리셋에 따라서 색 왜곡
• (Linux는 확인 안 해봄)
• git에 돌아다니고 있는 컬러 스킴을 사용할 것!
59. .vimrc
• 일종의 설정 파일
• vim 제대로 쓰기 위한 기본 중 기본
• 남의 .vimrc를 배껴서 쓰는게 지금은 편하긴 함
60. .vimrc
• 하지만, 나중에는 직접 다 뜯어 고쳐보는게 좋음
• 앞서 배운 :set 이나 :colorscheme 같은 걸 여기에 기술
• vim이 실행되면서 .vimrc에서 내용을 읽고 설정하는 것
61. .vimrc
• 설정 없는 vim은 메모장보다 쓸 데가 없음
• 기본적인 설정은 KLDP나 github에 꽤 올라와있음
• vim 메뉴얼을 참고해서 커스텀해도 됨
62. .vimrc
• 제대로 된 스킴 색을 뽑기 위해,
t_Co=256 / xterm-256color 사용
• colorscheme은 badwolf 사용
• <F5>는 gcc 맵핑 (윈도에서 썼던 흔적)
• Set으로 각종 설정 켜 놓음
• nu = number (줄 번호)
• ai = auto indent (엔터 후 들여쓰기)
63. .vimrc
• tabstop = space 4개 사이즈로
• showmode = 현재 모드 보여주기
• listchars = 탭 (들여쓰기) 표시
• 보면 알겠지만, 여기저기 복붙한 느
낌이 잘 나고, 윈도 환경에서 쓴 흔
적이 남아있음
• KLDP에 올라온 것을 배낀게 8년이
넘어갔....
65. Plugins
• 사실 플러그인의 존재를 알게 된 건 꽤 근래의 일 (1~2년전?)
• 아니 플러그인도 없이 어찌 vim을 썼는지 발표자도 모름
• 하지만, 플러그인 없이 쓴 기간에도 불편함은 없었음
69. Power line
• tmux powerline 조합을 vim에서 볼 수 있다는 게 장점
• 상당히 이쁘고 가독성도 나쁘지 않은 편
• 속도는 그닥, 정신 없는 듯한 느낌이 있음 (그래서 안 씀)
73. Vundle
• $ git clone https://github.com/gmarik/Vundle.vim.git
~/.vim/bundle/Vundle.vim
• vi ~/.vimrc
• Quick Start의 .vimrc 내용 추가
75. Why (not) Vim?
• vi는 터미널에 익숙해지기 위한 초석
• 이후, 팩키지 관리자 / 터미널 익숙해지기 쉬움
• ssh 같은 걸 많이 사용하게 되면 어쩔 수 없이 쓰게 됨
76. Why (not) Vim?
• 손에 익는데 까지도 시간이 상당히 걸림
• vim 사용법과 플러그인은 지속적인 구글링을 해야함
• 실제 사용 햇수랑 실력이랑 비례가 안 되는 듯한 느낌
78. • 다음 발표 주제는 리눅스 파이프라인 / 팩키지 관리 / git
• 방학 때 (빡센) 리눅스 스터디를 하는게 어떤가 함
• 리눅스 보다는 전반적인 것에 대한 스터디겠지만...