ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Linux 명령어 정리, Vi 편집하기
    CS/Linux 2023. 8. 16. 23:34
    반응형

     

    ¶ Vi 란?

      리눅스에서 일반적으로 사용하는 화면 편집기이다. 명령이 매우 단순하여 빠르게 편집할 수 있어서 널리 사용된다. Vi는 아래의 그림과 같이 명령 모드, 입력 모드, 마지막 행 모드로 구분된다.

     

    https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=julie_eun1014&logNo=220990176444

     

    • 명령 모드: 커서의 이동이나 텍스트 삭제 같은 명령으로 해석되어 실행
    • 입력 모드: 보통의 편집기처럼 텍스트로 입력
    • 마지막행 모드: 커서가 화면의 맨 하단으로 이동하여 특별한 명령을 사용할 수 있는 모드

     

     


     

     

    ▶ vi : 지정한 파일을 편집, 파일을 지정하지 않으면 빈 파일이 열리고 이 빈 파일의 이름은 별도로 정할 수 있음

    vi 
    vi test.txt 

     

    ▶ vi의 저장과 종료 명령키

    모드 명령 키 기능
    마지막 행 모드 :q vi에서 작업한 것이 없을 때 그냥 종료
    :q! 작업한 내용을 저장하지 않고 강제 종료
    :w [파일명] 작업한 내용을 저장만 함. 파일명을 지정하면 새 파일로 저장
    :wq, :wq! 작업한 내용을 저장하고 vi를 종료
    명령 모드 ZZ(Shift + zz) 작업한 내용을 저장하고 vi를 종료

     

    ▶ 입력 모드 전환 명령 키

    명령 키 기능
    i 커서 앞에 입력함(현재 커서 자리에 입력함)
    a 커서 뒤에 입력함(현재 커서 다음 자리에 입력함)
    o 커서가 위치한 행의 다음 행에 입력함
    I(대문자 i) 커서가 위치한 행의 첫 칼럼으로 이동하여 입력함
    A 커서가 위치한 행의 마지막 칼럼으로 이동하여 입력함
    O 커서가 위치한 행의 이전 행에 입력함

     

    ▶ 화면에서 커서를 이동하는 명령 키

    명령키 기능

    k 커서를 한행 위로 이동
    j 커서를 한 행 아래로 이동
    l 커서를 한 글자 오른쪽으로 이동
    h 커서를 한 글자 왼쪽으로 이동
    ^ 또는 0 커서를 현재 행의 처음으로 이동
    $ 커서를 현재 행의 마지막으로 이동
    - 커서를 앞 행의 처음으로 이동
    + 또는 Enter 커서를 다음 행의 처음으로 이동
    H 커서를 화면의 맨 윗행으로 이동
    M 커서를 화면의 중간 행으로 이동
    L 커서를 화면의 맨 아랫행으로 이동
    w 커서를 다음 단어의 첫 글자로 이동
    b 커서를 앞 단어의 첫 글자로 이동
    e 커서를 다음 단어의 마지막 글자로 이동

     

    ▶ 특정 행으로 바로 이동하는 명령 키

    명령 키 기능
    G(Shift + g) 파일의 마지막 행으로 커서가 이동
    행번호G(Shift + g) 지정한 행 번호로 커서가 이동
    :행 번호 지정한 행 번호로 커서가 이동(마지막 행 모드)
    :$ 파일의 마지막 행으로 커서가 이동(마지막 행 모드)

     

    ▶ 내용 수정 명령 키

    명령 키 기능
    r 커서가 위치한 글자를 다른 글자로 수정
    cw, #cw 커서 위치부터 현재 단어의 끝까지 수정. #에는 수정할 단어의 수를 지정. 예를 들면 3cw는 커서 위치부터 세 단어를 수정
    s, #s 커서 위치부터 Esc 키를 입력할 때까지 수정. #에는 수정할 글자의 수를 지정. 예를 들면 5s는 커서 위치부터 다섯 글자를 수정
    cc 커서가 위치한 행의 내용을 모두 수정
    C 커서 위치부터 행의 끝까지 수정

     

    ▶ 내용 삭제 명령 키

    명령 키 기능
    x, #x 커서 위치의 글자를 삭제. #에는 삭제할 글자 수를 지정
    dw, #dw 커서 위치의 단어를 삭제. #에는 삭제할 단어 수를 지정
    dd, #dd 커서 위치의 행을 삭제. #에는 삭제할 행의 수를 지정
    D(Shift + d) 커서 위치부터 행의 끝까지 삭제

     

    ▶ 이전 명령 취소 명령 키

    명령 키 기능
    u 명령을 취소
    U 해당 행에서 한 모든 명령을 취소
    :e! 마지막으로 저장한 내용 이후의 것을 버리고 새로 작업

     

    ▶ 복사하기, 잘라내기, 붙이기 명령 키

    명령 키 기능
    yy, #yy 커서가 위치한 행을 복사. #에는 복사할 행의 수를 지정
    p 커서가 위치한 행의 아래쪽에 붙임
    P 커서가 위치한 행의 위쪽에 붙임
    dd, #dd 커서가 위치한 행을 잘라둠. 삭제와 같은 기능. #에는 잘라둘 행의 수를 지정

     

    ▶ 범위 지정 명령 키

    명령 키 기능
    1, $ 또는 % 1행부터 마지막 행까지 지정
    1,. 1행부터 커서가 있는 행까지 지정
    .,$ 커서가 있는 행부터 마지막 행까지 지정
    .,.+2 현재 행과 두 번째 아랫행까지(총 세 행)을 지정
    10,20 10행부터 20행까지 지정

     

    ▶ 마지막 행 모드에서의 복사하기, 잘라내기, 붙이기 명령 키

    명령 키 기능
    :#y #로 지정한 행을 복사. 예를 들면 3y는 세 행을 복사
    :<범위>y 범위로 지정한 행을 복사. 예를 들면 2,4y는 2~4행을 복사
    :#d #로 지정한 행을 잘라냄(삭제). 예를 들면 3d는 세 행을 잘라냄
    :<범위>d 범위로 지정한 행을 잘라냄(삭제). 예를 들면, 1,4d 는 1~4행을 잘라냄
    :pu 현재 행 다음에 버퍼의 내용을 붙임
    :#pu #로 지정한 행 다음에 버퍼의 내용을 붙임. 예를 들면 4pu와 같이 지정

     

    ▶ 검색 명령 키

    명령 키 기능
    /문자열 문자열을 아래 방향으로 검색
    ?문자열 문자열을 위 방향으로 검색
    n 원래 찾던 방향으로 다음 문자열을 검색
    N 반대 방향으로 다음 문자열을 검색

     

    ▶ 바꾸기 명령 키

    명령 키 기능
    :s/문자열1/문자열2/ 커서가 위치한 행에서 첫 번째로 나오는 문자열1을 문자열2로 바꿈
    :%s/문자열1/문자열2/g 파일 전체에서 모든 문자열1을 문자열2로 바꿈
    :<범위>s/문자열1/문자열2/ 범위 내 모든 각 행에서 첫 번째로 나오는 문자열1을 문자열2로 바꿈
    :<범위>s/문자열1/문자열2/g 범위 내 모든 행에서 문자열1을 문자열2로 바꿈
    :<범위>s/문자열1/문자열2/gc 범위 내 모든 행에서 문자열1을 문자열2로 바꿀 때 수정할지 여부를 물음

     

    ▶ 파일 관련 명령 키

    명령 키 기능
    :r 파일 지정한 파일을 읽어들여 현재 커서 위치에 삽입
    :e 파일 지정한 파일로 전환함(기존 파일을 :w로 저장한 뒤에 실행해야 함)
    :n vi 시작 시 여러 파일을 지정했을 경우 다음 파일로 작업을 이동

     

    ▶ 셸 명령 실행 명령 키

    명령 키 기능
    :! 셸 명령 vi 작업을 잠시 중단하고 셸 명령을 실행(vi로 돌아오려면 Enter 키를 누름)
    :sh vi를 잠시 빠져나가서 셸 명령을 실행(vi로 돌아오려면 exit 명령을 입력)

     

    ▶ 기타 명령 키

    명령 키 기능
    Ctrl + l(소문자 L) 현재 화면을 다시 출력
    Ctrl + g 현재 커서 위치의 행 번호를 마지막 행에 출력
    Shift + j(대문자 J) 현재 행과 아랫행을 연결하여 한 행으로 만듦
    .(마침표) 바로 직전에 했던 명령을 반복

     

     

    vi 환경 설정은 다음의 세 가지 방법으로 할 수 있다.

    • 사용자 홈 디렉터리에 .exrc 파일로 저장
    • 환경 변수 EXINIT에 지정
    • vi의 마지막 행 보드에서 명령으로 설정

     

    ▶ vi 환경 설정 명령

    set 명령과 옵션 기능
    set nu 파일의 내용의 각 행에 행 번호를 표시함(보이기만 할 뿐 저장되지는 않음)
    set nonu 행 번호를 감춤
    set list 눈에 보이지 않는 특수문자를 표시(tab:^|, eol:$ 등)
    set nolist 특수문자를 감춤
    set showmode 현재 모드를 표시
    set noshowmode 현재 모드를 감춤
    set set으로 설정한 모든 vi 환경 설정 값을 출력
    set all 모든 vi 환경 변수와 현재 값을 출력

     

     

    Reference

     

    [전자책]우분투 리눅스(개정판) - 예스24

    리눅스에 대한 기본 지식을 쌓고자 하는 컴퓨터 관련 학과 학생을 대상으로 한다. 대부분의 윈도 사용자를 위해 리눅스를 가상 머신에 설치하여 실습할 수 있도록 구성했고, 리눅스 시스템 관리

    www.yes24.com

     

     

    반응형
Designed by Tistory.