별의 공부 블로그 🧑🏻‍💻
728x90
728x170

52. vi 편집기

1. vi 편집기

  • 문서를 편집할 수 있는 에디터
  • 모드
    • 명령 실행 모드
      • 편집된 문서를 저장하고 취소 등의 명령어를 실행할 때 사용
      • 입력 모드에서 Esc 키를 누르면 명령 실행 모드로 전환됨.
      • 명령어를 입력하고 실행하려면 ;, /, ?를 입력하면 됨.
    • 입력 모드
      • 문서를 입력할 때 사용
      • a, i, o를 입력하면 입력 모드로 전환됨.
# vi test.txt            // vi 편집기 실행
입력 모드가 되면 글을

입력할 수가 있습니다.

다시 명령모드로 전환하려면 ESC 키를 누르세요.



-- INSERT --                                    0, 1         All
  • vi를 실행하고, a, i, o 중 하나를 누르면 입력 모드가 됨.
  • Esc 키를 누르면 다시 명령 실행 모드가 됨.
  • :wq는 저장하고 종료하라는 의미이며, 명령어를 실행한 것을 의미함.

vi 입력 모드

  • i : 커서 위치에서 입력 모드로 변경
  • a : 커서 위치 우측 한 칸에서 입력 모드로 변경
  • o : 커서 바로 아래의 줄을 만들고 끼어 넣음.

 

2. vi 저장 명령어

  • :w : 파일 저장
  • :w! : 강제로 파일 저장
  • :30, 60w netfile : 30행부터 60행까지 newfile로 저장
  • :30, 60w>>file : 30행부터 60행까지 지정된 파일(file)에 추가함.
  • :w %.new : 현재 버퍼 파일명을 file new로 저장함.
  • Q : vi를 종료하고 ex로 전환
  • :e file1 : vi를 종료하지 않고 file1을 편집
  • :r newfile : newfile의 내용을 현재 파일에서 읽기
  • :n : 현재 파일 편집
  • :e! : 현재 파일을 마지막으로 저장한 상태로 되돌림
  • :e# : 파일을 번갈아 가면서 편집함.
  • :vi : ex에서 vi 호출

 

3. vi 이동 명령어

  • h, j, k, l : 왼쪽, 아래, 위, 오른쪽 이동
  • w, W, b, B : 한 단어 오른쪽, 왼쪽 이동
  • e, E : 단어의 끝으로 이동
  • ), ( : 다음 문장, 전 문장의 처음으로 이동
  • }, { : 다음 문단, 전 문단의 처음으로 이동
  • ]], [[ : 다음 절, 전 절의 시작으로 이동
  • Enter : 다음 행의 공백이 아닌 처음으로 이동
  • 0, $ : 현재 행의 처음과 끝으로 이동
  • ^ : 현재 행의 공백이 아닌 처음으로 이동
  • +, - : 다음 행과 이전 행의 공백이 아닌 처음으로 이동
  • nl : 현재 행의 n째 열로 이동
  • H : 화면 맨 위 행으로 이동
  • M : 화면 중간 행으로 이동
  • L : 화면 맨 아래 행으로 이동
  • nH : 화면 맨 위 행에서 n번째 행으로 이동
  • nL : 화면 맨 아래 행에서 n번째 행으로 이동
  • +F, +B : 한 화면 다음으로, 한 화면 이전으로 이동
  • +D, +U : 반 화면 아래로, 반 화면 위로 이동
  • +E, +Y : 화면이 한 행 위, 아래로 이동
  • z : 커서가 있는 행을 화면의 맨 첫 행으로 이동
  • z. : 커서가 있는 행을 화면의 중간으로 이동
  • z- : 커서가 있는 행을 화면의 맨 아래로 이동
  • +L : 스크롤링 없이 화면을 리로드

 

4. vi 편집 명령어

  • j, a : 텍스트 커서 앞, 뒤에 입력
  • l, A : 텍스트 커서 행의 처음, 마지막에 입력
  • o, O : 커서가 있는 행의 아래, 위에 새로운 행을 입력

 

5. vi 삭제 및 이동 명령어

  • x : 커서가 위치한 문자 삭제
  • X : 커서 앞의 문자 삭제
  • dw : 단어 삭제
  • dd : 현재 행 삭제
  • dmotion : 커서와 motion 대상 사이의 텍스트 삭제
  • D : 커서 위치부터 그 행까지 삭제
  • p, P : 커서 오른쪽, 왼쪽에 지운 텍스트 삽입

 

6. vi 문자열 검색

  • /검색할 문자열/ : 현재 위치에서 아래를 검색
  • ?검색할 문자열? : 현재 위치에서 위를 검색
  • n : 찾은 문자열 다음으로 계속 검색
  • N : 찾은 문자열 이전으로 계속 검색

 

7. vi 명령행 옵션

  • vi 파일명 : 지정된 파일을 오픈함.
  • vi 파일명1 파일명2 : 파일1과 파일2를 순서대로 오픈함.
  • vi -r f파일명 : 파일 복구 후에 잘못된 동작 이후로부터 파일을 편집함.
  • vi -t 태그 : 태그를 검사하고 정의된 위치부터 편집
  • vi +파일명 : 파일을 열고 본문의 마지막 행에 위치시킴.
  • vi +n 파일명 : 파일을 열고 커서를 n행에 위치시킴.
  • vi -c Command 파일 : 파일을 열고, 검색 명령 혹은 행 번호의 명령을 실행함.
  • vi + /패턴 파일 : 패턴 위치에서 파일을 오픈함.

 

8. vi 설정

  • vi.exrc 설정 파일을 사용해서 명령을 실행할 수 있음.
  • set 명령어를 사용하여 vi 편집기의 환경 설정을 할 수 있음.
  • ab를 사용하면 문자열을 치환할 수 있음.

set을 사용한 vi 설정 값

  • autoindent
    • 자동 들여쓰기 설정
    • 기본값 : autoindent
  • shiftwidth
    • 자동 들여쓰기의 여백 값
    • 기본값 : 8
  • number
    • 화면에 라인 번호 나타내기
    • 기본값 : number
  • tabstop
    • 탭의 간격 설정
    • 기본값 : 8
  • showmode
    • 삽입 모드 표시 여부
    • 기본값 : showmode
  • wrapmargin
    • 오른쪽 여백 설정
    • 기본값 : 0

.exrc 설정 예제

set number
set tabstop=8

vi set 옵션

  • :set ai : 윗 라인과 동일하게 자동으로 들여쓰기를 함.
  • :set si : if, for 등을 입력하고, 다음 라인으로 이동할 때 자동으로 들여쓰기를 함.
  • :set paste : set siset ai 옵션을 같이 사용해서 붙여넣기를 할 경우, 계단 현상을 방지함.
  • :set ts=4 : TAB 키를 입력하여 이동
  • :set sw=4 : set si를 사용할 경우에 들여쓰기 하는 깊이를 설정
  • :set et : TAB 키를 입력할 때, TAB에 해당하는 공간(SPACE) 이동
  • :set encoding=utf8 : 기본 인코딩 설정
  • :set fenc=utf8 : 다른 인코딩으로 저장
  • :set t_ti : 터미널에서 vi 종료 시에 화면 내용을 남게 함.
  • :set ruler : 우측 하단에 라인 및 칼럼 위치 표시
  • :set ff=unix : 라인 변경 문자 변경
  • :set ff=<passwd> : 문서를 암호화 함.
  • :set ic : 검색 패턴 사용 시, 대소문자를 구별하지 않음.
  • :set wam : 종료 시에 경고 메시지 출력

 


 

내용 출처 : 이기적 네트워크관리사 1·2급 필기 (임호진, 황성하 공저, 영진닷컴)

728x90
그리드형(광고전용)

'Certificate > Network Manager' 카테고리의 다른 글

56. VLAN(Virtual Local Area Network)  (0) 2021.05.01
55. NIC(Network Interface Card)  (0) 2021.05.01
54. SAMBA  (0) 2021.04.29
53. RPM 패키지  (0) 2021.04.29
51. 프로세스  (0) 2021.04.28
50. 리눅스 명령어  (0) 2021.04.28
49. 리눅스 권한 관리  (0) 2021.04.28
48. 리눅스 계정 관리  (0) 2021.04.28
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖