728x90
리눅스 문서편집기
GUI 환경인 그놈에서 제겅화는 gedit
유닉스에서부터 사용했던 행 편집기와 화면 편집기
구분 | 종류 |
행 단위 편집기 | ed, ex, sed |
화면 단위 편집기 | vi, emacs |
GUI 편집기 | gedit |
행 단위 편집기
- ed : 유닉스 초기 편집기 잘 안쓴다
- ex : 행 편집이지만 vi에 연결하여 vi의 확장자형태로 사용
- sed : 스트림 편집기로 일반적 편집기와 다르게 지시명령에 따라 파일의 내용을 일괄적으로 바꿔서 출력해준다.
화면단위 편집기
- vi : 리눅스에서 일반적으로 사용할 수 있는 화면 편집기
- emacs : 제공하는 기능이 매우 다양하지만, 사용법이 어렵고 복잡하여 전문가가 사용
모드형과 비모드형 편집기
모드형
- 입력모드, 명령모드 구분
- 입력모드 = 텍스트 입력 , 명령모드 = 텍스트 수정, 삭제, 복사, 붙여넣기 가능한 모드
- 같은 글자라도 입력모드에서는 텍스트로 명령모드에서는 편집 명령으로 사용
- vi 는 모드형 편집기
비모드형
- 입력과 명령이 구분되어 있지 않음
- 편집기능을 Ctrl이나 Alt같은 특수키와 같이 사용
- 한글과 워드는 비모드형 편집기
구분 | 모드형 (vi) | 비모드형 (메모장) | |
입력 모드 | 텍스트 입력 | ||
명령모드 | 복사 | yy | Ctrl + c |
붙이기 | p | Ctrl + v | |
저장 | :wq, ZZ | Ctrl + s | |
모드 전환 | i, a, o, esc | 해당 없음 |
Vi 시작과 종료
vi 시작
- 파일을 지정할 경우 : 해당 파일이 있으면 파일의 내용이 열리고 아니면 빈 파일이 열린다.
vi 종료
- 명명모드나 마지막 행 모드에서 저장하고 종료 가능
구분 | 명령 키 | 기능 |
마지막 행 모드 | :q | vi에서 작업한 것이 없을 때 그냥 종료한다. |
:q! | 작업한 내용을 저장하지 않고 종료한다. | |
:w [ 파일명 ] | 작업한 내용을 저장만 한다. 파일명을 지정하면 새 파일을 생성해서 저장한다. | |
:wq, wq! | 작업한 내용을 저장하고 vi를 종료한다. | |
명령 모드 | ZZ ( Shift + zz ) | 작업한 내용을 저장하고 vi를 종료한다. |
입력 모드로 전환하기
명령 키 | 기능 |
i | 커서 앞에 입력한다. |
a | 커서 뒤에 입력한다. |
o | 커서가 위치 한 행의 다음 행에 입력한다. |
I | 커서가 위치한 행의 첫 칼럼으로 이동하여 입력한다. |
A | 커서가 위치한 행의 마지막 칼럼으로 이동하여 입력한다. |
O | 커서가 위치한 행의 앞 행에 입력한다. |
커서 이동하기
명령 키 | 기능 |
k | 커서를 한 행 위로 이동한다. |
j | 커서를 한 행 아래로 이동한다 |
l | 커서를 한 글자 오른쪽으로 이동한다. |
h | 커서를 한 글자 왼쪽으로 이동한다. |
^또는 O | 커서를 현재 행의 처음으로 이동한다. |
$ | 커서를 현재 행의 마지막으로 이동한다. |
- | 커서를 앞 행의 처음으로 이동한다. |
+ 또는 Enter | 커서를 다음 행의 처음으로 이동한다. |
H | 커서를 화면의 맨 윗행으로 이동한다. |
M | 커서를 화면의 중간 행으로 이동한다. |
L | 커서를 화면의 맨 아랫행으로 이동한다. |
w | 커서를 다음 단어의 첫 글자 위치로 이동한다. |
b | 커서를 앞 단어의 첫 글자 위치로 이동한다. |
e | 커서를 다음 단어의 마지막 글자 위치로 이동한다. |
화면 이동하기
기존 명령 키 | 기능 | 추가 명령 키 |
^u(ctrl + u) | 반 화면 위로 이동한다. | |
^d(ctrl + d) | 반 화면 아래로 이동한다. | |
^b(ctrl + b) | 한 화면 위로 이동한다. | Page Up |
^f(ctrl + f) | 한 화면 아래로 이동한다. | Page Down |
^y(ctrl + y) | 화면을 한 행만 위로 이동한다. | |
^e(ctrl + e) | 화면을 한 행만 아래로 이동한다. |
특정 행으로 바로 이동하기
- 원하는 행으로 커서를 바로 이동
- 예:
- 60G -> 60행으로 이동
- 40(enter) -> 40행으로 이동
명령 키 | 기능 |
G(Shift + g) | 파일의 마지막 행으로 이동한다 |
행 번호G(Shift + g) | 지정한 행 번호로 이동한다. |
:행번호 | 지정한 행 번호로 이동한다(마지막 행 모드) |
:$ | 파일의 마지막 행으로 이동한다(마지막 행 모드) |
내용 수정하기
명령 키 | 기능 |
r | 커서가 위치한 글자를 다른 글자로 수정한다 |
cw, #cw | 커서부터 현재 단어의 끝까지 수정한다. #에는 수정할 단어의 수를 지정한다. 예를 들어 3cw는 커서 위치부터 세 단어를 수정한다. |
s, #s | 커서부터 Esc 키를 입력할 때 까지 수정한다 # 에는 수정할 글자 수를 지정한다. 예를 들어 5s는 커서 위치부터 다섯 글자를 수정한다. |
cc | 커서가 위치한 행의 내용을 모두 수정한다. |
C | 커서 위치부터 행의 끝까지 수정한다. |
네임드 버퍼 사용하기
언네임드 버퍼
- 이름을 붙이지 않은 버퍼
- yy 명령키로 복사하거나 dd명령키로 잘라내기를 할 경우, 복사하거나 잘라낸 내용이 저장
- 언네임드 버퍼는 내용을 하나만 저장
네임드 버퍼
- 이름을 붙여서 사용할 수 있는 버퍼
- 네임드 버퍼를 사용하면 각각 다른 이름을 붙인 버퍼에 독립적으로 내용을 저장하고 사용
- 넹비드 버퍼에 이름을 붙일 때는 "+문자 또는 "+ 숫자(숫자 버퍼)의 형태로 사용
- 네임드 버퍼 : "a, "b, "c, "d ..., "z
- 숫자 버퍼 : "1, "2, "3, "4, "5...., "9
- 네임드 버퍼에 커서가 위치한 행을 저장하려면 '버퍼 이름 +yy를 입력
- a버퍼에 복사한 내용을 저장하려면 "ayy를 입력
- 네입드 버퍼의 내용을 붙이려면 "ap와 같이 버퍼이름 +p를 입력
마지막 행 모드에서 복사하기, 잘라내기, 붙이기
마지막 행 모드에서 행을 복사하거나 잘라낼 때는 범위를 지정해서 할 수 있음.
명령키 기능 | 기능 |
1,$ 또는 % | 1행부터 마지막행까지 지정한다/. |
1, | 1행부터 커서가 있는 행까지 지정한다 |
,3 | 커서가 있는 행부터 마지막 행까지 지정한다 |
,-3 | 현재 행과 이전 세번째 행까지 (총 네행)을 지정한다 |
10,20 | 10행부터 20행까지 지정한다 |
명렁키 기능 | 기능 |
:#y | #로 지정한 행을 복사한다 3y는 3행복사 |
:<범위>y | 범위로 지정한 행을 복사한다. 예를들어 2,4y는 2~4행을 복사한다. |
:#d | #로 지정한 행을 잘라낸드(삭제). 예를들어 3d는 3행을 잘라낸다. |
:<범위>d | 범위로 지정한 행을 잘라낸다(삭제). 예를들어 1,4d는 1~4행을 잘라낸다. |
:pu | 현재 행 다음에 버퍼의 내용을 붙인다. |
:#pu | #로 지정한 행 다음에 버퍼의 내용을 붙인다. 예를들어 4pu와 같이 지정한다. |
검색하기
검색하기 위해 마지막 행으로 이동할 때는 :이 아니라 /이나 ?를 입력한다
명령 키 | 기능 |
/문자열 | 문자열을 아래방향으로 검색한다. |
?문자열 | 문자열을 위 방향으로 검색한다. |
:n | 원래 찾던 방향으로 다음 문자열을 찾는다. |
:N | 역방향으로 다음 문자열을 찾는다. |
바꾸기
기존의 문자열을 다른 문자열로 바꾸려면 먼저 :을 입력하여 마지막 행 모드로 이동
커서 위치의 문자열만 바꿀 수도 있고, 파일 전체나 특정 범위 내에서 해당하는 문자열을 모두 바꿀 수도 있음.
명령키 | 기능 |
:s/문자열1/문자열2/ | 커서가 위치한 행에서 첫번째로 나오는 문자열 1을 문자열 2로 바꾼다 |
:%s/문자열1/문자열2/ |
파일 읽어오기, 여러파일 편집하기
명령 키 | 기능 |
:r 파일명 | 지정한 파일을 읽어들여 현재 커서 위치에 삽입한다. |
:e 파일명 | 지정한 파일로 전환한다 ( 기존파일을 :w로 저장한 뒤 실행해야 한다.) |
:n | vi 시작시 여러 파일을 지정했을 경우 다음 파이로 작업을 이동한다. |
파일 편집을 마치고 다른 파일 편집하기
:e 명령 키는 현재 작업 중인 파일의 작업을 마치고 다른 파일을 편집하려고 할 때 사용
test.txt 파일 편집을 완료하고 exec.txt 파일 편집으로 바꾸려면 :e exec.txt 사 용
이때 작업 중이던 파일을 먼저 저장하고 :e 명령을 실행해야 함
파일을 저장하지 않고 :e exec.txt를 실행하면 다음과 같은 오류 메시지가 출력
여러 파일 편집하기
vi를 시작할 때 파일명을 여러 개 지정
파일 작업을 마치고 다음 파일로 이동하려면 :n을 입력
vi에서 쉘 명령 사용하기
명령 키 | 기능 |
:! 셸 명령 | vi작업을 잠시 중단하고 셸 명령을 실행한다(vi로 돌아오려면 Enter 키를 입력해야 한다. |
:sh | vi를 잠시 빠져나가서 셸 명령을 실행한다(vi로 돌아오려면 exit 명령을 이볅해야 한다.) |
기타 명령 키
명령 | 기능 |
Ctrl + l [ 소문자 L ] | 현재 화면을 다시 출력한다 |
Ctrl + g | 현재 행 번호를 마지막 행에 출력한다. |
Shift + j | 현재 행과 아랫 행을 연결하여 한 행으로 만든다. |
, | 바로 직전에 했던 명령을 반복한다. |
vi환경 설정 방법
사용자 홈 디렉터리에 vimrc 파일로 저장
환경변수 EXTINIT에 지정
vi의 마지막 행 모드에서 명령으로 실행
vi 환경 설정 명령(set)
set 명령 과 옵션 | 기능 |
set nu | 파일 내용의 각 행에 행 번호를 표시한다( 보이기만 할 뿐 저장되지는 않는다) |
set nonu | 행 번호를 감춘다. |
set list | 눈에 보이지 않는 특수 문자를 표시한다 |
set nolist | 특수 문자를 감춘다 |
set showmode | 현재 모드를 표시한다 |
set noshowmode | 현재 모드를 감춘다. |
set | set로 설정한 모든 vi환경 설정 값을 출력한다. |
set all | 모든 vi 환경 변수와 현재 값을 출력한다. |
728x90
'대학교 코딩공부 > 운영체제 실습' 카테고리의 다른 글
운영체제 실습 7주차 [ 파일 접근 권한 관리 ] (0) | 2022.10.12 |
---|---|
운영체제 실습 6주차 [ 쉘 의 기능 ] (0) | 2022.10.05 |
운영체제 실습 4주차 [ 우분투 명령어 ] (0) | 2022.09.20 |
운영체제 실습 2주차 우분투 활용 기초 (0) | 2022.09.07 |
운영체제 실습 1주차 [ 리눅스의 기초 ] (0) | 2022.09.06 |