아하
  • 토픽

  • 스파링

  • 잉크

  • 미션


금쪽같은바구미128

금쪽같은바구미128

vi에서 쓰는 유용한 커맨드 알려주세요

어쩔수 없이 vi 에디터를 써야하는 경우가 종종 있는데 방향키로만 움직여서 수정하다보면 한참 걸립니다ㅠ

혹시 vi에서 쓸 수 있는 유용한 커맨드를 공유해주시면 감사하겠습니다!

    3개의 답변이 있어요!

    • 특출난조롱이55

      특출난조롱이55

      안녕하세요?

      vi 커맨드는 많지만 자주 사용하던 것 몇개만 올려 봅니다.

      기본적인 커서 이동은 아시죠
      h → 왼쪽으로 이동
      l → 오른쪽으로 이동
      j → 아래행으로 이동
      k → 위 행으로 이동


      w 또는 W → 다음 단어의 첫 글자로 이동
      b 또는 B → 이전 단어의 첫 글자로 이동
      e 또는 E → 단어의 마지막 글자로 이동

      ^ → 그행의 첫 글자로 이동
      $ → 그 행의 마지막 글자로 이동

      :w → 저장
      :q → vi 종료
      :q! → vi 강제 종료
      ZZ →저장 후 종료
      :wq! → 강제 저장 후 종료


      a → 커서 위치 다음칸부터 입력
      A → 커서 행의 맨 마지막부터 입력
      i → 커서의 위치에 입력
      I → 커서 행의 맨 앞에서 부터 입력
      o → 커서의 다음행에 입력
      O → 커서의 이전 행에 입력
      s → 커서 위치의 한글자를 지우고 입력
      cc → 커서위치의 한 행을 지우고 입력

      dd → 커서가 있는 행을 삭제

      더 많지만 전 이것 외에는 잘 안쓰고 있어서 몇개만 적어 보았습니다.

    • vi command mode에서...

      Page Down -> Ctrl + F
      page Up -> Ctrl + B
      첫줄로 -> :1
      끝줄로 -> :$
      현재 행의 끝 열로 -> $
      현재 행의 처음 열로 -> ^

      찿기 / (/SYS -> SYS 문자열 찾기)
      같은 값 계속 찾기 n

      바꾸기 :% s/SYS/CUP/ 전체 문장을 대상으로 각 줄에서 SYS를 CUP로 바꾸기
      :% s/SYS/CPU/g 전체 문장을 대상으로 각 줄에서 SYS를 CUP로 바꾸기 (여러번)
      :1,10 s/SYS/CPU/ 1행부터 10행을 대상으로...
      :.,10 s/SYS/CPU/ 현재행부터 10행을 대상으로...
      :10,$ s/SYS/CPU/ 10행부터 마지막행까지 대상으로...

      한줄 지우기 dd
      한글자 지우기 x
      (반복해서 지우기는 .)
      복사 yy
      붙여넣기 p
      UNDO u


      등등이 있습니다. 그외 googling해보면 많이 나옵니다.

    • 안녕하세요

      Vi명령어는 여러가지가 있는데 여기에 작성하기보단

      정리가 잘되어있는 블로그가 있어 올리겠습니다

      Vi 명령어 정리 블로그

      https://belong2jesus.tistory.com/78

      단축키 모음 블로그

      https://kldp.org/node/102947