리눅스서버

[기본] vi 편집기를 사용해 파일편집해보기

윈도우에서 기본 편집기인 "메모장"을 많이들 사용하실 텐데요.. 리눅스에서는 "vi"라는 기본 편집기를 많이 사용합니다..

이 vi편집기를 사용해 리눅스에서 파일편집을 할 수 있습니다.

아래 명령어를 치면 vi편집기를 실행할 수 있습니다.

# vi [파일이름]

 

[파일이름]

파일이름을 적으면 해당 파일을 편집할 수 있습니다.

만약 파일이 없으면 그 파일이름으로 새파일을 만들어 편집합니다.

 

*다른 위치에 있는 파일이라면 파일경로를 포함해서 적어주세요.

*지금 파일이름을 안적을 수도 있지만, 파일저장시 파일이름을 적어야됩니다.

 

※vi편집기를 실행하면 왜 입력이 안될까요?

vi편집기를 실행한다고 해서 바로입력은 안됩니다. 입력모드에서 입력해야합니다.

vi편집기에는 총 2가지 모드가 있습니다. (명령모드, 입력모드)

명령모드 : vi편집기에 명령할 수 있는 모드 (입력불가)

입력모드 : 입력만 가능한 모드

따라서 vi편집기를 실행하면 명령모드로 뛰워져서 입력이 안되거죠..

입력을 할려면 입력명령을 해야 입력모드로 바뀌며, 입력이 가능하겠지요..

 

 

※vi편집기의 명령 (명령모드에만 가능)

*입력명령

  • 소문자 [ i ] : 커서 앞에 입력합니다.
  • 소문자 [ I ] : 커서가 해당하는 줄의 맨 앞으로 이동해서 입력합니다.
  • 소문자 [ a ] : 커서 다음에 입력합니다.
  • 대문자 [ A ] : 커서가 해당하는 줄의 맨 뒤로 이동해서 입력합니다.
  • 소문자 [ o ] : 커서 다음 줄에 입력합니다.
  • 대문자 [ O ] : 커서 윗 줄에 입력합니다.

- 위 명령들 중 하나만 입력해도 입력모드로 전환됩니다. (기본적으로는 [ i ]를 쳐서 입력모드에 들어갑니다. )

- 입력모드에서 명령모드로 다시 나올 때는 [ Esc ] 키 눌려주세요.

 

*저장명령

  • [ :w ] : 현재 내용을 현재파일에 저장합니다.
  • [ :w [파일이름] ] : 현재 내용을 다른이름으로 저장합니다.
  • [ :w >>  [파일이름] ] : 현재 내용을 다른파일 내용에다가 덧붙입니다.
  • [ :w! ] : 쓰기 권한이 없어도 강제로 저장합니다.

 

*종료명령

  • [ :q ] : 내용을 저장하지않고 종료합니다. (내용이 변경되면, 저장하지않았다고 오류가 나니, [ :q! ]명령을 사용해주세요.)
  • [ :wq ] : 내용을 저장하고 종료합니다.
  • [ :q! ] : 강제로 종료합니다.

 

*기타명령

  • [ :se nu ] : 줄번호를 표시합니다. (몇줄인지 알 수 있습니다.)
  • [:se nonu] : 줄번호를 표시안합니다.
  • [ :22 ] : 22번째 줄에 커서를 위치시킵니다.
  • [ gg ] : 맨 처음 행에 커서를 위치시킵니다.
  • [ G ] : 맨 마지막 행에 커서를 위치시킵니다.
  • [ u ] 이전작업을 취소합니다
  • [ r ] [ 바꿀문자 ] : 커서위치에 있는 문자를 변경합니다.
  • [ ctrl + r ] : 취소했던 작업을 재실행합니다.
  • r [파일경로] : 파일의 내용을 커서위치에 끼워넣습니다.

 

 *찾기 명령 (검색)

  • [ /찾을 단어 ] : 현재커서에서 아래쪽 방향으로 "찾을 단어"를 검색합니다.
  • [ ?찾을 단어 ] : 현재 커서에서 위쪽 방향으로 "찾을 단어"를 검색합니다.
  • [ n ] : 검색하던 방향으로 계속검색합니다. (찾기명령을 한 상태여야합니다.)
  • [ N ] : 검색하던 반대방향으로 계속검색합니다. (찾기명령을 한 상태여야합니다.)

 

*바꾸기 명령 (치환)

  • [ :s/원래단어/바꿀단어] : 현재줄의 처음에 위치한 "원래단어"를 "바꿀단어"로 바꿉니다.
  • [ :s/원래단어/바꿀단어/g] : 현재줄에서 모든 "원래단어"를 "바꿀단어"로 바꿉니다.
  • [ :1,10s/원래단어/바꿀단어/g] : 1줄 ~ 10줄까지에서 모든 "원래단어"를 "바꿀단어"로 바꿉니다.
  • [ :%s/원래단어/바꿀단어/g] : 문서전체에서 모든 "원래단어"를 "바꿀단어"로 바꿉니다.
  • [ :%s/원래단어/바꿀단어/gc] : 문서전체에서 모든 "원래단어"를 확인을 거쳐 "바꿀단어"로 바꿉니다.

 

*복사및 붙여넣기 명령

  • [ yw ] : 커서 위치에서 한 단어까지 복사합니다.
  • [ yy ] : 커서가 위치한 줄을 복사합니다.
  • [ 5yy ] : 커서가 위치한 줄부터 5줄을 복사합니다.
  • [ p ] : 커서위치에 붙여넣습니다.

 

?