[과제] VI/VIM 기본 명령어 사용법

hwwwa·2023년 1월 5일
1

vi 기본 커맨드

vi Mode

  • Command mode
  • Command line mode
  • Insert mode

Execution

  • Command mode로 진입
  • vi <파일명> : 해당 파일이 없으면 새로운 빈 파일 생성 (저장하지 않으면 파일이 생성되지 않음)
  • vi +<line number> <파일명> : 파일 열고 입력한 line number로 이동
  • vi +/"<검색할 문자열>" <파일명> : 파일을 열고 원하는 문자열이 처음 발생하는 곳으로 이동
  • vi –r <파일명> : 손상된 파일 회복
  • view <파일명> : 읽기 전용으로 열기

Termination

  • ZZ : 변경사항 저장 후 vi 종료
  • :w : write. 변경사항 저장.
  • :wq : write & quit. 저장하고 나가기
  • :x : exit. 저장하고 나가기
  • :q! : quit. 저장하지 않고 나가기

Command mode

  • Insert mode로 진입하기
    • i : insert. 커서위치 앞에서 입력 시작
    • I : 해당라인 맨 앞에서 입력 시작
    • a : append. 커서위치 뒤에서 입력 시작
    • A : 해당라인 맨 끝에서 입력 시작
    • o : open. 커서 아래에 줄을 만들고 입력
    • O : 커서 위에 줄을 만들고 입력
  • 커서 이동
    • l : 오른쪽으로 커서 이동
    • h : 왼쪽으로 커서 이동
    • j : 아래로 커서 이동
    • k : 위로 커서 이동
    • e : 오른쪽 단어의 끝 부분으로 커서 이동
    • w : 오른쪽 단어의 앞 부분으로 커서 이동
    • b : 왼쪽 단어의 앞부분으로 커서 이동
    • $ : 줄의 끝으로 커서 이동
    • ^ : 줄의 맨 앞으로 커서 이동
    • H : 화면의 맨 위로 이동
    • M : 화면의 중간으로 이동
    • L : 화면의 맨 아래로 이동
    • ^F : 다음 페이지
    • ^D : 다음 페이지의 반
    • ^B : 이전 페이지
    • ^U : 이전 페이지의 반
    • ]] : 다음 함수
    • [[ 이전 함수
  • 수정
    • x : 문자 하나 지우기
    • dw : 단어 하나 지우기
    • dd : 한 줄 지우기 / 5dd: 5줄 지우기
    • :5,10d : 5~10번째 줄 지우기
    • yy : 한 줄 복사 / 3yy : 3줄 복사
    • p : 붙여넣기
    • r : 문자열 하나 바꾸기
    • cw : 단어 하나 바꾸기
    • ~ : 대문자로 바꾸기
    • J : 두 줄을 한 줄로 합치기
    • u : 되돌리기
    • . : 다시 실행

Command-line mode

  • :1,2 co 3 : 1~2번째 줄을 3번째 줄 다음으로 복사
  • :4,5 m 6 : 4~5번째 줄을 6번째 줄 위로 이동
  • /<검색할 문자열> : 오른쪽 아래 방향으로 원하는 문자열 검색
  • ?<검색할 문자열> : 왼쪽 위 방향으로 원하는 문자열 검색
  • n : 문자열의 다음으로 계속 검색
  • N : 문자열의 이전으로 계속 검색
  • :1,.s/cnt/count/ : 파일의 첫 번째 줄부터 현재 줄 까지 문자열 cnt를 count로 대체
  • :1,$s/cnt/count : 파일의 처음부터 끝까지 문자열 cnt를 count로 대체
  • :.$/cnt/count : 현재 커서 위치부터 끝까지 존재하는 모든 cnt를 count로 대체
  • :set <option> [=value] : settings
    • :set nu : line number 표시
    • :set tabstop=4 : tap size를 4로 설정

default settings

  • ~/.exrc 파일에 원하는 설정에 대한 내용 작성
    • set nu : line number 표시
    • set ts=4 : tap size를 4로 설정
    • set ai : 자동 들여쓰기
    • set title : 타이틀 바에 현재 편집중인 파일을 표시
    • set backspace=eol,start,indent : 줄의 끝, 시작, 들여쓰기에서 백스페이시 이전 줄과 연결
    • set nohls : 이전 검색 결과 하이라이트 해제
    • syntax on : 파일 종류에 따라 구문 강조

0개의 댓글