본문 바로가기
  • 반가워요 : )
전기기사/리눅스

[리눅스1] 문서편집기(vi) 주요 명령어

by 교육의 기울기 2018. 12. 27.
반응형

문서 편집기

-windows : 한글, 워드 ,메모장
-linux : pico, nano, vi, emacs, vim, gedit

문서 연 상태 에서 명령을 쓰려면 콜론을 쓰고나서 명령어를 써 줘야함)

문서 편집기 자주 쓰는 명령어

  • vi [target] - vi로 문서 열기
  • :set nu - 문서 연 상태에서 입력시 줄 마다 행번호 출력.

모드

  • 이동 모드 :vi로 파일 열었을때 초기화면
  • 입력모드[INSERT] : 편집모드 표시 진입하려면 a i o s를 써서 입력모드로 들어가면 된다
    • · a : 커서를 오른쪽으로 한칸 이동 후 진입 (해당커서 오른쪽에서 작성된다)
    • · i : 해당 커서 자리에서 진입 (해당커서 왼쪽에서 작성된다.)
    • · o : 커서 행 아래에 행 추가 후 그 행에 처음으로 이동하고 진입 (shift o 위로 행만듬)
    • · s : 커서의 글자를 지우고 진입
    • esc 누르면 기본 이동모드로 다시전환
 

커서 이동법

  • 'hjkl': 기본 커서 이동
  • 'webx': 단어 단위의 이동
    • w : 다음 단어의 첫글자. (같은 종류의 문자끼리 구분)
    • e : 다음 단어의 끝글자. (같은 종류의 문자끼리 구분)
    • b : 이전 단어의 첫글자. (같은 종류의 문자끼리 구분)
    • x : 커서 해당 위치의 문자 삭제.

행 단위 이동

  • $ : 행의 끝으로 이동.
  • 0 : 행의 처음으로 이동.
  • G : 문서의 제일 끝으로 이동. ( = ]] )
  • gg : 문서의 제일 처음으로 이동. ( = [[ )

페이지 단위 이동

  • ctrl + f : 다음 페이지.
  • ctrl + b : 이전 페이지.

화면 단위 이동

  • Shift + high/middle/low
※vim adventures : vi 커서 이용 게임 https://vim-adventures.com

마크(책갈피)

  • 저장 : m?
  • 호출 : '?
  • → a~z, A~Z 총 52개 가능

삭제와 복사

  • x : 커서 위치 한 글자씩 삭제.
  • dd : 해당 커서의 행 삭제.
  • 숫자 + dd : 지정 숫자 행만큼 삭제
  • yy : 행 복사
  • 숫자 + yy : 지정 숫자 행 만큼 복사
  • p : 커서행 아래에 붙여넣기 (shift p를 하면 해당행의 위로 복사한다.)

이동 명령어와 삭제 복사 기능 조합 및 그 외 기능

  • · dw / de / db → 단어 단위로 삭제
  • d$ : 커서 위치에서 행의 끝까지 삭제
  • d0: 커서 위치에서 행의 처음까지 삭제
  • dgg: 문서의 처음 까지 삭제 (=d[[)
  • dG: 문서의 끝 까지 삭제 (=d]])
  • u : 되 감기(실행 취소)
  • ctrl + r :빨리 감기

검색기능

  • /[target] : 커서 기준으로 아래로 검색. n : 정방향 N : 역방향
  • ?[target] : 커서 기준으로 위로 검색.

치환 :[범위]s/원본/수정본/옵션

ex)) vi /etc/passwd

  1. :s/o/1234 : 커서 행 최초 1개 치환
  2. :s/o/1234/g : 커서 행 모든 o 치환
  3. :10s/o/1234 : 10번 째 행 최초 1개 치환
  4. :10,12s/o/1234 :10행부터 12행까지 최초 하나 치환
  5. :10,12s/o/1234/g : 10행부터 12행까지 모두 치환
  6. : %s/login/54321/g : 문서전체 치환

창 나누기

  • [n]split[file]: 가로로 창 나누기 n(창크기)
  • ctrl +ww : 창 이동
  • ctrl +wn : 새 창 띄우기
  • :set nu → 행번호 출력
  • :[행번호] → 지정 행으로 이동

쉘 명령어 관련 : 문서편집기 실행상태에서 외부 일반 명령어 쓰고싶을때

  • :![shell 명령어] → vi를 잠시 멈추고 쉘 명령어 수행 (예외 : :!cd 는안된다. :cd 로쓴다.)
  • :.![shell 명령어] → 문서 내부에 쉘 명령어 수행 내용 삽입
  • ※ 커서행 원본이 삭제되므로 행 추가후 사용(o)

저장/종료

  • :q → 나가기
  • :q! → 저장 안하고 나가기
  • :w → 저장
  • :w [filename] → 다른 이름으로 저장
  • :wq → 저장 후 나가기·
  • :enew → 새 문서 나갈 때 파일이름 저장해야 나갈 수 있다.

 

반응형

댓글