반응형
<행 단위 편집기>
- 한 번에 한 행씩 작성 또는 수정
- ed, ex, sed
<화면 단위 편집기>
- 일반적으로 사용하는 편집기
- 화면 단위로 보면서 커서를 이동해 작성 또는 수정
- vi(유닉스 기본 편집기)
- 최초 화면 단위 편집기
- ex 편집기 명령 사용가능
- 단순한 명령으로 빠른 편집 가능
- 이맥스(GNU 이맥스, ...)
- 작업하는 도중 다양한 기능 사용 가능(이메일, 쉘, 파일 복사/삭제 등)
<vi 편집기>
- 모드형 편집기(모드에 따라 같은 입력을 다르게 처리)
- 입력 모드 : 입력하는 그대로 내용 입력
- 명령 모드(+마지막 행 모드) : 입력하는 키를 명령으로 처리
- vi (파일명) : vi 시작
- 파일명을 지정하지 않거나 지정 파일이 없을 경우 빈 파일 생성
- ~는 비어있는 행 표시
- 최초 vi 시작 시 명령모드
- 커서 이동
- 위 / 아래 / 왼쪽 / 오른쪽 : k / j / h / l
- ^ 또는 O :현재 행 처음으로
- $ : 현재 행 마지막으로
- - : 이전 행 처음으로
- + 또는 enter : 다음행 처음으로
- H / M / L : 화명 맨 위/중간/아래 행으로
- w / b : 다음/이전 단어의 첫 글자로
- e : 다음 다어의 마지막 글자로
- 화면 이동
- ^u / ^d : 반 화면 위 / 아래로
- ^b / ^f : 한 화면 위 / 아래로
- ^y / ^e : 한 행 위 / 아래로
- 행 이동
- G : 마지막 행 이동
- 숫자 G : 해당 행으로 이동
- 명령 모드 -> 입력 모드 : i, a, o, I, A, O
- i : 커서 자리에 입력
- a : 커서 뒤에 입력
- o : 커서 다음 행에 입력
- I : 현재 행 가장 앞에 입력
- A : 현재 행 마지막에 입력
- O : 이전 행에 입력
- 입력 모드 -> 명령 모드 : esc
- 내용 수정(r 명령 외 입력모드로 전환됨)
- r : 커서가 위치한 문자 수정
- (숫자)cw : 커서 위치부터 (숫자 번째)단어 끝까지 수정
- (숫자)s : 커서 위치부터 (숫자만큼의 문자) 수정
- cc : 현재 행 모두 수정
- C : 커서 위치부터 현재 행 끝까지 수정
- 삭제 및 취소
- (숫자)x : 커서 위치(부터 숫자 만큼의) 문자 삭제
- (숫자)dw : 커서 위치(부터 숫자 만큼의) 단어 삭제
- (숫자)dd : 커서 위치(부터 숫자 만큼의) 행 삭제
- u : 이전 명령 취소
- U : 현재 행에서의 모든 명령 취소
- :e! : 마지막 저장 상태로 되돌림
- 복사, 붙이기, 잘라내기
- (숫자)yy : 현재 행(부터 숫자 만큼의) 행 복사
- p / P : 현재 행 아래 / 위에 붙이기
- (숫자)dd : 현재 행(부터 숫자 만큼의) 행 잘라내기
- 네임드 버퍼 사용 : "문자/숫자 붙이기
- ex: "ayy -> a 버퍼 생성 및 복사, "ap -> a 버퍼 내 데이터 붙이
- 범위 지정
- 1,3 : 1행부터 3행까지
- .,$/% : 현재 행부터 끝까지
- 기타
- ^l : 화면 재출력
- J : 현재 행과 아래 행 연결(현재 행 뒤에 붙임)
- . : 이전 명령 반복
- ~ : 현재 커서 위치 글자 대소문자 전환
- 명령 모드 -> 종료 / 저장
- :q : 저장 없이 종료
- :q! : 저장 없이 강제 종료
- :w (파일명) : (파일명으로) 저장
- :wq(!) : 저장 후 종료
- ZZ : 저장 후 종료
- 마지막 행 모드
- 복사 / 잘라내기
- :(숫자)y : 숫자만큼의 행 복사
- :<범위>y : 범위의 행 복사
- ex} :1,4y : 1~4행 복사
- :(숫자)d : 숫자만큼의 행 삭제
- :<범위>d : 범위의 행 삭제
- :pu : 현재행 다음에 붙이기
- :(숫자)pu : 숫자번째 행 다음에 붙이기
- 검색
- /문자열 : 문자열을 아래 방향으로 검색
- ?문자열 : 문자열을 위 방향으로 검색
- n / N : 다음 문자열을 기존 / 역 방향으로 검색
- 변경
- :s/대상문자열/결과문자열 : 현재 행의 첫 번째 대상문자열을 결과문자열로 변경
- :%s/대상문자열/결과문자열 : 전체에서 대상문자열을 결과문자열로 변경
- :<범위>s/대상문자열/결과문자열 : 범위안의 모든 행에서 첫 번째 대상문자열을 결과문자열로 변경
- :<범위>s/대상문자열/결과문자열/g :
첫 번째->모든 - :<범위>s/대상문자열/결과문자열/gc : 변경 여부 확인
- 파일 읽어오기
- :r 파일명 : 해당 파일 내용을 현재 커서 위치에 삽입
- :e 파일명 : 해당 파일로 전환(기존 파일은 저장되지 않음)
- :n : vi편집기 실행시 여러 파일명을 지정했을 경우 다음 파일로 전환
- 쉘 명령 사용
- :! 명령 : 해당 명령 실행(enter : vi로 전환)
- :sh : 쉘 명령 작업으로 전환(exit 입력 : vi로 전환)
- vi 편집기 환경 설정
- :set nu : 행 번호 표시
- :set nonu : 행 번호 감춤
- :set list : 보이지 않는 특수문자 표시
- :set nolist : 특수문자 감춤
- :set showmode : 현재 모드 표시
- :set noshowmode : 모드 표시 감춤
- :set : 현재 설정 상태 출력
- :set all : 모든 환경 변수 및 설정 값 출력
<
반응형
'유닉스, 리눅스' 카테고리의 다른 글
[유닉스/리눅스 기초]파일 속성 및 접근 권한 (0) | 2016.09.13 |
---|---|
[유닉스/리눅스 기초]쉘 기본 사용법 (0) | 2016.09.13 |
[유닉스/리눅스 기초]파일 관련 명령(cat, more, tail, cp, rm, mv, ln, touch) (0) | 2016.09.13 |
[유닉스/리눅스 기초]디렉토리 관련 명령(pwd, cd, ls, mkdir, rmdir) (0) | 2016.09.13 |
[유닉스/리눅스 기초]유닉스 파일 시스템 (0) | 2016.09.13 |
댓글