Upload
sangkon-han
View
134
Download
0
Embed Size (px)
Citation preview
Vim with Windows‘아, 넌 Emacs 쓴다고?’
발표자[뭔가 이상한건 기분 탓]
● Sangkon Han(sigmadream)● 우분투 한국 커뮤니티 소속 Microsoft MVP / GDG Busan 운영진
● 흔한 그냥 개발자○ 펌웨어 및 임베디드 개발을 주로 담당○ 최근엔 Ruby On Rails로 개발
○ Python을 좋아함(파이콘 2016 APAC에 많은 참석 부탁드려요!)
○ 요즘은 Firebase 때문에 React 같은거에 관심이 많음
발표 목적
● {윈도우, 리눅스, 맥}에서 기본적인 VIM 사용법을 알아보자!● VIM을 좀 더 편리하게 사용하는 플러그인 설치 방법을 알아보자!
주의사항!
● TextEditors = {sublime text, atom, brackets, notepad++, editplus} 보다 좋나요?○ ⇒ 아니요, 그런데 console 환경에선 {for textEditor in TextEditors} 보단 훨씬 좋습니다.
● VIM을 사용해서 개발하면 어떤 장점이 있나요?○ ⇒ 없습니다. Windows 환경이라면 VS 쓰시고, macOS라면 JetBrains에서 출시한 제품을
사용하세요 ! 그런데 console 환경이라면 VIM 이외의 다른 대안이 없을껍니다 .(아… 혹시...그거 쓰시나 보죠?)
Quick Basic!
1st, Install
설치하기!
● 윈도우
○ http://www.vim.org/ 에서 다운로드 받아서 설치 가능함● 우분투 사용자
○ sudo apt-get remove vim-tiny○ sudo apt-get install vim
● macOS 사용자○ brew install vim
21세기에 이게 뭔가 싶으시죠? 그래서 준비했습니다. 쨔잔!
맘에 드시나요? 디자인이 이상하다구요? UX도?
Cloud Service 사용하시면 자주 보실텐데요?
이런거?!
21세기에 정말 저런거 쓰나?의심되나요?
월간이모 4월에 기고한 “우리 UX는 왜 그런거죠”를 참고하세요!
2nd, VIM 의 Mode
VIM 의 ‘다양한’ Mode
● normal (command)● insert (and replace)● visual
○ plain visual mode○ block visual mode○ linewise visual mode
● select● command-line● Ex-mode
어썸하죠?
7차 교육과정의 이념“선택과 집중”
VIM 의 Mode
● normal (command)● insert (and replace)● visual
○ plain visual mode○ block visual mode○ linewise visual mode
● select● command-line● Ex-mode
매의 눈으로!! 차이점을 찾아보세요!
Insert Mode
Normal Mode로 변환하는 방법
ESC
Insert Mode로 변환하는 방법
append / Append
a: 한 칸 뒤로, A: 행의 맨 끝
Insert Mode로 변환하는 방법
insert / Insert
i: 현재 위치, I: 맨 앞에서
Insert Mode로 변환하는 방법
open line / Open line
o: 행의 아래, O: 행의 위에 빈 행
Insert Mode로 변환하는 방법
Replace
R 수정모드(모든 글자가 덧쓰여짐)
ESC v.s. {a or i}
3rd, Movement
커서이동
방향키
{h, j, k, l}은 잊으세요
이런 키보드가 기준입니다.
흔하죠!
HHKB는 이쪽이 아니라 저쪽입니다.
단어간 이동
words / Words
단어간 이동
back / Back
단어간 이동
end / End
행의 시작과 끝
HOME / END
^ 행의 첫 단어, 0 행의 시작(공백포함), $ 행의 끝
페이지 이동
Page-Up / Page-Down
Ctrl-F 페이지 아래로, Ctrl-B 페이지 위로
페이지 이동
Ctrl-U / Ctrl-D
Ctrl-U 화면 절반만 위로 스크롤, Ctrl-D 화면 절반만 아래로 스크롤
문서의 시작과 끝
gg 앞 / G 뒷
Ctrl-HOME / Ctrl-END
4th, Edit
복사 / 붙여넣기
yyank / paste
y 현재 행을 복사, p 붙여넣기
삭제
DEL / Back-Space[I.M]
x 뒷문자, X 앞문자
잘라내기
d / D / dd
x 문장 잘라내기, D 한 줄 잘라내기(줄 변경 없음), dd 한 줄 잘라내기
작업취소
u / Ctrl-R
u: undo 기능, Ctrl-R: redo 기능
그럼, “한 단어”를 지워야 할 때?!
5th, Search
문자열 검색
‘/’ / ‘?’
/ 문자열 검색, ? 즉시 검색, n 다음 검색 결과, N 역순으로 검색 결과 조회
6th, Replace
복사 / 붙여넣기
:[range]s/찾을 문자열/교체할 문자열/옵션:1,$s/a/i/g == :1,$s, a, i, g
range: {.(현재 행), $(마지막 행), +#(아래 #행), -#(위로 #행), %(문서전체)}
옵션: {g(모든 문자열), i(대소문자를 무시), c(확인), e(에러 무시)}
7th, Etc..
귀찮음을 해결하는 방법!
● https://gist.githubusercontent.com/plentz/6737338/raw/b2619ca4248a32864f8dce7386208d801d29d524/nginx.conf를 복사하는 방법은?
:r !curl --silent
curl이 뭘까요?
8th, Plugins
Long Long Time Ago...
● Plugin은 `$HOME/.vim` 디렉토리에 복사해서 사용○ `Overwrite` 문제 덕분에 잘 사용하지 않음
● Vimball, `vba`(?) 확장자를 사용○ 설치가 복잡
쉽게 적용 가능한 Vundle부터!
● 설치방법
○ https://gist.github.com/sigmadream/8c23fdb969c02ae07a131447fac10911
○ 윈도우 사용자는■ https://github.com/VundleVim/Vundle.vim/wiki/Vundle-for-Wind
ows
정리하자면!
1 기본적인 사용법을 배워봅시다
2 IDE가 플러그인보다 좋습니다. 여러분이 생각하시는건 어쩌면 환상에 가깝습니다.
3 도구는 도구답게! 도구에 너무 많은 이야기를 담을 필요는 없어요!
4 기초 유틸리티 사용법에 익숙할 수록 터미널 환경에선 효율이 좋습니다.
“Running Bash on Ubuntu on Windows!”에 가장 큰 기대를 걸고 있는 이유죠!
Ref
● 좀 더 전문적인 사용법은○ http://www.openvim.com/○ http://vim-adventures.com/○ https://danielmiessler.com/study/vim/
● 단축키
○ https://www.fprintf.net/vimCheatSheet.html