Text Editors

진주찬·2023년 4월 11일
0

Linux

목록 보기
5/11

텍스트 에디터 종류

  • Line-based text editors
    -Sed : Stream editor
  • Console-based text editors
    -Vim : Vi IMproved
    -Emacs : GUI-version
    -Nano
  • GUI-based text editors
    -gedit
    -kedit

VI, VIM

  • 열기

    vi file.txt

-R 옵션 : 읽기만 가능
vi + file : 커서를 마지막 줄에 두고 열기
vi +n file : 커서를 n번째 줄에 두고 열기
vi +/pat file : 커서를 패턴이 처음 나오는 곳에서 열기

  • 닫기

    :w [filename] - 파일이름으로 저장
    :w! - 읽기 전용인 경우에도 파일을 디스크에 저장
    :q - 이미 저장된 상태에서 나가기
    :wq - 편집된 파일을 저장 후 종료
    :q! - 변경을 저장하지 않고 그냥 나가기
    ZZ - :wq와 같은 역할

vi -r

복구할 수 있는 모든 파일을 나열

vi –r filename

vi를 열고 이전 내용을 복구

VI의 모드

1. Insert mode

-텍스트를 편집

2. Command mode

-특수기능 수행
-초기모드

3. Line mode

-복잡한 기능을 수행하기 위한 모드

모드 변경

  • insert mode로 변경
    i,a,o,I,A,O 누르기
  • command mode로 변경
    Esc 누르기
  • line mode로 변경
    -command mode에서 :, /, ? 입력

커서 움직임(command mode)

G - 마지막 줄로 이동
1G - 첫번째 줄로 이동
17G - 17번째 줄로 이동
h - 왼쪽으로 한 칸 이동
l - 오른쪽으로 한 칸 이동
k - 위로 한 칸 이동
j - 아래로 한 칸 이동
b - 한 글자 뒤로 이동
w - 한 글자 앞으로 이동
H - 스크린의 첫번째 줄로 이동
M - 스크린의 중간 줄로 이동
L - 스크린의 마지막 줄로 이동
e - 다음 단어의 마지막으로 이동
'-' - 이전 줄로 이동
'+' - 다음 줄로 이동
$ -줄의 마지막으로 이동
^ - 줄의 시작으로 이동
{ - 한 단락 위로 이동
} - 한 단락 아래로 이동
^b 또는 ^u - 한 페이지 뒤로 이동
^f 또는 ^y - 한 페이지 앞으로 이동

커서 움직임(Line mode)

:n - n번째 줄로 이동
:$ - 마지막 줄로 이동
:$= - 파일의 총 줄의 수를 출력
:.= 현재 줄의 수를 출력

텍스트 삽입 (insert mode)

i - 커서의 앞에서 쓰기 시작
a - 커서의 뒤에서 쓰기 시작
o - 현재 커서 아래에 새로운 줄로 쓰기 시작
I - 현재 줄의 처음에서 쓰기 시작
A - 현재 줄의 끝에서 쓰기 시작
O - 현재 커서의 위에서 새로운 줄로 쓰기 시작

자르기, 복사하기, 붙여넣기(command mode)

x - 문자 1개 삭제(자르기)
24x - 문자 24개 삭제(자르기)
dd - 현재 줄 삭제(자르기)
4dd - 현재 줄 포함 4개 줄 삭제(자르기)
D - 커서부터 줄의 끝 까지 삭제(자르기)
dw - 현재 단어 삭제(자르기)
yy - 현재 줄 복사
5yy - 현재 줄 포함 5개 줄 복사
p - 현재 커서의 뒤에 붙여넣기
P - 현재 커서의 앞에 붙여넣기
v - 문자별로 복사를 위해 문자 선택하기
V - 줄 별로 복사를 위해 줄 선택하기

텍스트 대체 (command mode)

r - 커서에 있는 문자 1개를 다른 문자로 대체
8r - 커서부터 8문자를 다른 문자로 대체
R - 덮어쓰기(Esc눌러서 종료)
C - 커서부터 줄 끝까지 다른 문자로 대체
S - 줄 전체를 다른 문자로 대체
4S - 4줄 전체를 다른 문자로 대체
cw - 단어를 다른 문자로 대체

텍스트 대체 (line mode)

:[begin,end]s/pattern1/pattern2/flag

-[begin,end]
% - 파일 전체
$ - 마지막 줄
. - 현재 줄

-flag
g - 모든 상황
c - 상황에 맞게 물어봄

undo, redo

u - 되돌리기
^r - 되돌리기 했던 것을 한번 더 반복
. - 마지막 명령을 다시하기

텍스트 찾기(Line mode)

/@@ - @@라는 문자의 앞으로 찾으며 넘어간다
?@@ - @@라는 문자의 뒤로 찾으며 넘어간다

저장 옵션(Line mode)

:[begin,end]w filename

-begin부터 end까지 내용을 filename으로 저장

:1,.w filename

-처음부터 현재까지 내용을 filename으로 저장

:1,.w! filename

-처음부터 현재까지 내용을 filename으로 저장(덮어쓰기까지)

:1,.w >> filename

-처음부터 현재까지 내용을 fliename이라는 파일에 내용을 추가하기

linemode 커맨드

:r fliename
-filename이라는 파일을 현재 커서에 읽어들인다
:e filename
-현재 파일 편집을 종료하고 filename을 연다
:! command
-쉘 명령을 실행
:r! command
-쉘 명령을 실행하고 결과를 파일에 넣는다

setting

:set tabstop=~
-tab의 크기를 정의
:set number / :set nonumber
-줄 숫자를 보여주고, 숨김
:set list / :set nolist
-특수문자 표시, 숨김
:set showmode / :set noshowmode

0개의 댓글