
초창기 리눅스를 가지고 놀면서 현란하게 손가락을 움직이며 주변의 감탄사를 자아냈던 시절이 지나고 이제는 기록의 힘을 빌려야 하는 서글픈 나이가 되었지만 그래도 기록은 기억의 가오를 넘어선다는 어느 현자의 말을 믿고 차근하게 정리해 나가려 한다. 우선 vi편집기에 대한 정리로 실무에서 가장 많이 쓰는 것들로만 정리해 보자
h: 커서를 왼쪽으로 한 칸 이동j: 커서를 아래쪽으로 한 줄 이동k: 커서를 위쪽으로 한 줄 이동l: 커서를 오른쪽으로 한 칸 이동Ctrl + f: 한 페이지 앞으로 이동 (스크롤 다운)Ctrl + b: 한 페이지 뒤로 이동 (스크롤 업)Ctrl + d: 반 페이지 앞으로 이동Ctrl + u: 반 페이지 뒤로 이동gg: 문서의 첫 줄로 이동G: 문서의 마지막 줄로 이동nG 또는 :n (여기서 n은 숫자): n번째 줄로 이동/pattern: 텍스트 내에서 pattern을 검색하고 다음으로 이동?pattern: 텍스트 내에서 pattern을 검색하고 이전으로 이동n: 검색 결과에서 다음 항목으로 이동N: 검색 결과에서 이전 항목으로 이동x: 커서가 위치한 한 문자를 삭제합니다.dd: 커서가 위치한 한 줄을 삭제합니다.d + 움직임 명령어: 지정된 범위만큼 삭제합니다.예: dw는 단어 하나를 삭제하고, d$는 현재 커서부터 줄의 끝까지 삭제합니다.dG: 현재 커서부터 파일의 끝까지 모든 줄을 삭제합니다.dgg: 현재 커서부터 파일의 시작까지 모든 줄을 삭제합니다yy: 커서가 위치한 한 줄을 복사합니다.y + 움직임 명령어: 지정된 범위만큼 복사합니다.yG: 현재 커서부터 파일의 끝까지 복사합니다.ygg: 현재 커서부터 파일의 시작까지 복사합니다p: 커서 다음 위치에 붙여넣기 합니다.P: 커서 이전 위치에 붙여넣기 합니다:q : 종료 (변경사항이 있을 경우 저장 여부를 물어봅니다.):q! : 저장하지 않고 강제로 종료:w : 저장:wq : 저장 후 종료ZZ : 저장 후 종료(:wq와 동일):wq 파일 이름 : 저장할때 내가 원하는 파일 명으로 저장합니다.:s/old/new/ : 현재 줄에서 첫번째 일치하는 문자열 치환하기
:s/apple/orange/ : app에서 orange로 치환하기
:s/old/new/g : 현재 줄에서 일치하는 모든 문자열 치환하기
:s/apple/orange/g 현재 줄에서 모든 apple을 orange로 치환.
:range s/old/new/g : 특정 범위에서 문자열 치환하기
:3,5s/apple/orange/g : 3줄부터 5줄까지 apple을 orange로 치환.
:%s/old/new/g : 파일 전체에서 문자열 치환하기
:%s/apple/orange/g : 파일 전체에서 apple을 orange로 문자열 치환.
:%s/old/new/gc : 문자열 치환전에 확인 받기.
:%s/apple/orange/gc : 전체 파일에서 문자열을 치환하기 전에 확인을 요청.
:%s/\d\+apple/orange/g : 숫자 뒤에 있는 모든 apple을 orange로 변환,
1234apple, 456apple을 orange로 문자열 변환.
:%s/apple/orange/gi : 대소문자 모두 무시하고 orange로 문자열 변환
Ctrl + v를 눌러서 Visual Block 모드로 전환vim filename.txt
# 커서를 첫번째 줄의 "banana" 위치합니다.
# ctrl + v 조합을 눌러서 Visual Mode로 전환 합니다.
# 커서를 이동시켜 세줄의 "banana"텍스트를 모두 선택합니다.
apple █banana cherry
apple █banana cherry
apple █banana cherry
# 커맨드 모드에서 :'<,'> 가 자동으로 입력됩니다.
# 여기서에서 s/banana/orange/g 입력 합니다.
:'<,'>s/banana/orange/g
apple orange cherry
apple orange cherry
apple orange cherry
set number 또는 :set nu : 현재 파일에서 모든 행에 번호가 표시됩니다set nonumber 또는 :set nonu : 현재 파일에서 모든 행에 번호가 숨겨집니다.[행번호] 또는 :[행번호]G : 특정 행 번호로 이동합니다.:5 또는 :5G라고 입력하면 파일의 5번째 행으로 이동합니다.:set ruler 또는 :se ru : 현재 커서의 행번호 위치 확인합니다.Ctrl + G : 현재 커서의 행 번호 위치 한번 확인합니다./.vimrc 파일에 set number를 추가 : 영구적으로 행 번호 표시 합니다.vim -o file1.txt file2.txt : vi 편집기도 동일하게 수행 가능합니다.Ctrl+w를 누른 후 방향키 (j, k) : 현재 창에서 다른 창으로 이동합니다. :wa : 전체 파일을 저장합니다. :wqall : 모든 창을 닫습니다. yy : 한행 복사하기 2yy : 2줄 복사하기 yw : 다음 단어까지 복사하기 yiw : 한 단어 복사하기 yaw : 한 단어 복사하기 (공백포함)p : 커서 뒤에 붙여넣기P : 커서 앞에 붙여넣기gp : 커서 뒤에 붙여넣고 붙여넣은 행 다음으로 커서 이동gP : 커서 앞에 붙여넣고 붙연허은 행 다음이로 커서 이동dd : 한 행 잘라내기2dd : 2줄 잘라내기dw : 다음 단어까지 잘라내기diw : 한 단어 잘라내기daw : 한 단어 잘라내기 (공백포함):3,5d : 3행부터 5행까지 삭제