ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [따배리] 3.vi editor
    Linux 2022. 9. 2. 03:22

    ---

    https://youtube.com/playlist?list=PLApuRlvrZKohKeqFR3Mf6V2AB5TO5dr4m 

     

    [따배리] 리눅스 시리즈

     

    www.youtube.com

     

    ---

    리눅스의 가장 기본적인 편집기

     

    ---

    emacs는 gnu프로젝트에서 오픈소스로 만들어진 커맨드라인 에디터면서도 그래픽인터페이스 지원

    nano 오래됐고 메뉴가 지원됨

     

    vi는 오래된, 유닉스에서부터 사용됐다

    vi editor를 좀 더 쓰기 편하게 만들어 놓은 것이 vim editor

    그래도 다들 이걸 제일 많이 쓰니 이거쓰세요

     

    ---

    vi editor는 기본적으로 3가지 모드

    처음에 command mode

    input moder가 입력하는 글자 타이핑하는

     

    ---

    일반적인 에디터는 메뉴를 갖고 있는데, 

    vi 에디터는 단축키로 대신한다. 익숙해지면 장점이야

    cheat sheet 검색해서 봐

    www.vim.org

    도 참고하세요

     

    ---

    vi 파일명

    으로 편집기 실행

    맨 아랫줄

    "hosts" 파일의 이름

    10L : 전체 10개의 라인

    318C : 318개의 문자

    1, 1 : 커서가 있는 위치 행과 열

    그리고 맨 아랫줄에서 지금 명령어모드인지 ex모드인지 알려준다

     

    ---

    vi editor가 한 화면 단위로 보여줘서, 아직 커서가 한번도 접근하지 않은 곳은 ~ 로 표시

     

    지금은 cheat sheet에서 봤던 커맨드만 입력할 수 있는 모드

    커맨드에서 인풋모드로 전환해야해 a i o A I O 를 입력하면 된다, 맨 아랫줄 -- INSERT --로 바뀜

     

    a : 오른쪽으로 한칸 이동한 뒤 append

    ESC를 누르면 다시 command모드가 된다

     

    i : insert, 이동없고 그 자리에서 끼워넣기

    o : open new line, 아랫줄에 블랭크 라인을 하나 만들고 거기서 입력

     

    A : 줄의 제일 끝에 append

    I : 문단의 가장 첫번째에 입력

    O : 윗줄에 블랭크 라인을 만들고 거기서 입력

     

    ---

    ex mode : 새로만들기, 열기, 저장하기, 종료하기

    이런거

    커맨드모드에서 : / ? 입력하면 ex mode로 들어갈 수 있다

     

    ---

    :e! 지금까지 했던 모든 작업을 취소시켜줘

     

    ---

    :w 파일이름

    새이름으로 저장인데, 하고나서도 편집중인 파일은 기존 파일이다!

    :w로 저장해보면

    이걸로 저장된다. 먼저 열렸던 파일로 계속 편집중이다

     

    ---

    :q 는 수정하고 하면 마지막 편집 상태가 저장이 안돼있으면 안먹혀

    :q! 하면 바뀐거 날리고 강제로 실행

     

    ---

    :w

    :q는

    :wq라고 해도 된다

     

    ---

    :r newfile(탭키 누르면 자동완성)

    다른 파일 내용을 중간에 끼워넣을 수 있다

     

    ---

    command mode

    u$는 오타

    #는 여기에 숫자를 붙이면 그만큼 실행

    커서이동키

     

    한글자씩 이동 : 방향키와 hjkl

    단어단위로 이동 : w, b, 3w하면 세개 단어 오른쪽으로 이동, 2b하면 역방향으로 두 단어 이동

    (word, back)

     

    ^ 시작

    $ 끝

    엔터치면 다음라인

    G 마지막라인

    페이지업 / 페이지다운 키도 있다

     

    ---

    삭제 : 물론 입력모드 들어가서 백스페이스 누르면 지워진다. 근데 vi editor가제공해주는 글자 지우는 키가 있다

     

    한글자 지우기 : x, 얘도 3x하면 3글자 지워진다

    단어단위로 지우기 : dw, delete word, 2dw는 두단어 지워줘. 특수문자와 블랭크가 기준이다

    문단 전체 지우기 : dd, 3dd하면 세개라인 지워짐

     

    . 바로 앞에서 작업한 command기능 반복 실행

    dw 하고 . 하면 단어지움

     

    d$ : 커서가 있는곳부터 문장 맨앞까지 지움

    d^, D : 커서가 있는곳부터 문장의 끝까지 다 지움 -> 이것도 . . 하면 다 지우고 다님

     

    dG : 현재 커서 라인부터 아래 다 지움

     

    u : undo, 전단계로 가기. 저장하기 전 상태까지 되돌릴 수도 있다

     

    ---

    복사 y, 3y는 3개 복사

    단어복사 yw, 4yw면 4개 단어 복사해줘

    붙이기 p

     

    한줄 복사 : yy

    커서 앞쪽 복사 : y^

    커서 뒤쪽 복사 : y$

    파일끝까지 복사 : yG

     

    ---

    이동은 따로 없지만 삭제하고 붙이는 것. 삭제한 내용을 버퍼에 기억하고 있다.

    dd하고 거기가서 p하면 된다

     

    ---

    replace

    r누르고 입력하면 된다, 3r은 3개 글자 치환

    cw는 단어 치환(단어가 지워지고 insert모드가된다)

    cc는 라인 전체 지워지고 insert모드

    4cc하면 4개 라인 지워지고 insert

     

    R : 안지워지고 REPLACE상태가 돼서 쓰는대로 overwrite

     

    c^ : 앞지워지고 insert

    c$ : 뒤 지워지고 insert

     

    ---

    찾기 : 

    명령어 모드에서 / 누르면 ex모드로 가고, 

    /단어 엔터, n을 누를 때마다 커서가 옮겨짐

     

    찾아서 바꾸기 : 

    명령어 모드에서 : 누르면 ex모드로 가고,

    %s/찾을문자열/변경할문자열

    %는 문장 전체를 말하는 것

    /g는 global, 전체를 대상으로 바꿔줘

     

    ---

    환경설정하기

    vi에디터 라인보면서 하기

    :set number 보기

    :set nonumber 안보기

     

    :set ts=2 탭간격이 넓어져

     

    ---

     

    ---

    vimrm은 오타네 vimrc다

     

    hlsearch : 검색한걸 하이라이트

    paste : 오토인덴트 기능 해제, 클라우드에서 리눅스 쓰다보면 복붙할 때 밀려서 쓸 때가 있어 그런거 해제할 때

     

    이런 환경 설정을 항상 쓰고 싶으면 vi ~/.vimrc 파일을 하나 만들어주는 것. 이게 vi의 configuration파일

     

    ---

    vi 에디터 안쓰는 법

    나는 간단한 파일 하나 빨리 만들고 싶어 vi복잡한거 안쓰고

    출력 redirection을 써야해

     

    ---

    엔터까지 12개의 문자가 들어가있다

     

    ---

     

Designed by Tistory.