728x90

내용 수정 및 삭제
내용 수정하기
- 한 글자만 수정, 단어별로 수정, 수정할 글자 수 지정해서 수정

내용 삭제/취소하기
- 입력 모드에서 입력 중에 틀린 글자 삭제할 때는 Backspace 키나 Delete 키를 이용하면 됨
- 명령 모드에서는 문자를 삭제하거나 행을 삭제하기 위해 별도의 명령키 존재
- 삭제할 문자 수나 행 수를 지정하려면 명령키 앞에 숫자를 지정

편집 기능
복사하기, 붙이기, 잘라내기
- 소문자 yy 명령키 : 해당 행을 복사
- 커서를 원하는 위치로 이동 후 p 명령키 : 붙이기
- dd 명령키로 행 삭제 후 p 명령키 입력하면 “잘라내서 붙이기”

- 커서 위치에서 1행과 2행 복사하기
Hello, World!
============
- 1행에서 2yy 명령키 입력 후 2행에서 p 명령키 입력
Hello, World!
============
Hello, World!
============
버퍼의 사용
- 버퍼 : 복사하거나 잘라낸 내용을 저장해두는 임시 저장 공간
- 윈도우의 클립보드와 같은 기능
- yy 명령키를 사용해 복사할 경우 복사된 내용은 버퍼에 저장
- 언네임드(unnamed) 버퍼
- 이름 붙이지 않은 버퍼
- 한 번에 하나의 내용만 저장
- 네임드(named) 버퍼
- 이름 붙인 버퍼
- 각기 다른 이름을 붙인 버퍼에 별도로 저장할 수 있는 내용을 모두 저장하고 사용 가능
- 네임드 버퍼 사용
- 버퍼 이름 붙이기 : “(따옴표) + 문자, 또는 ”+숫자(숫자 버퍼라고도 함)
- 네임드 버퍼 : “a, ”b, “c, ……, ”z
- 숫자 버퍼 : “1, ”2, “3, …… ”9
- 네임드 버퍼에 커서 위치한 행 저장 : “ayy, 붙이기 : ”ap
- 네임드 버퍼 사용하여 1행과 2행을 따로 복사하여 붙이기
Hello, World!
============
- 커서를 1행에 위치하고 “ayy 입력
- 커서를 2행으로 이동 후 “byy 입력
- 2행 다음에 b 버퍼 먼저 붙이기 하려면, “bp, ”ap를 차례로 입력
Hello, World!
============
============
Hello, World!
마지막 행 모드에서 복사하기와 잘라내기
- 마지막 행 모드에서 행을 복사하고 잘라내기 할 때는 범위를 지정한 후 수행
- 범위 지정하기
- vi에서 범위 지정은 마지막 행 모드에서만 가능
- 행번호와 특수 문자 사용
- 특수문자 : 현재 커서가 있는 행을 나타내는 .(마침표), 마지막 행을 나타내는 $, %


- 복사하기/잘라내기
- :은 마지막 행 모드로 이동하기 위한 기호

검색하기
- vi에서 특정 단어를 검색하거나 검색한 단어를 다른 단어로 바꾸기 위한 명령은 마지막 행 모드에서 제공
- 검색하기 위해 마지막 행 모드로 가려면 “/”나 “?”를 입력
- “/”는 커서의 위치에서 아래 방향으로 검색
- “?”는 커서의 위치에서 위 방향으로 검색

바꾸기
- 기존의 문자열을 다른 문자열로 바꾸려면 :를 입력해 마지막 행 모드로 이동
- 바꾸기 명령은 파일 전체를 대상으로 할 수도 있고 특정 범위만 지정해 실행할 수도 있음

- and 패턴을 찾아 or로 바꿀 때 수정할지 여부를 묻는 명령 사용
:%s/and/or/gc
- and를 or로 바꿀 때마다 아래와 같은 질문을 함
Starry, starry night
Paint your palette blue and gray
Look out on a summer’s day
With eyes that know the darkness in my soul
Shadows on the hills
Sketch the trees and the daffodils;
Catch the breeze and the winter chills
In colors on the snowy linen land.
~
replace with or(y/n/a/q/l/^E/^Y)?
- 패턴에 대한 옵션의 의미

728x90
'프로그래밍 > Unix' 카테고리의 다른 글
유닉스 파일의 속성 (0) | 2020.03.23 |
---|---|
유닉스 편집기, 에디터 vi 환경 설정 (0) | 2020.03.23 |
유닉스 편집기,에디터 (vi) (0) | 2020.03.23 |
[유닉스] 링크, 수정 시각 변경 (0) | 2020.03.23 |
유닉스 복사, 삭제, 이동 (0) | 2020.03.23 |