리눅스 - 우분투(Ubuntu)
0419. 텍스트에디터
리눅스는 파일 시스템을 명령어를 통해 관리하는 텍스트 에디터가 있음
텍스트 에디터의 종류인 vi에 대해서 조사함
vi
는 visual editor의 줄임말로, port설정, 사용자 계정 설정, 방화벽설정 등 파일을 vi명령어를 사용하여 설정할 수 있음vim
에디터 : vi + imporoved 의 줄임말로 향상된vi
라는 뜻- 사용법은 아래 명령어와 같이 vi 파일명임
vi viTest
- 마지막행모드, 명령모드, 입력모드 흐름
명령 모드(command mode)
- 처음
vi
명령어로 vi를 시작하게 되면 들어가게 됩니다. - 여기서는 방향키를 이용하여 커서를 이동가능
-
dd
나yy
로 한 줄 삭제 및 한 줄 붙여넣기, 또는x
명령어로 글자 하나를 삭제가능대표젹인 vi 명령어
i
: 현재 커서 위치에 삽입 (입력모드로 넘어감)
a
: 현재 커서 바로 다음위치에 삽입 (입력모드로 넘어감)
o
: 현재 줄 다음 위치에 삽입 (입력모드로 넘어감)
x
: 커서가 위치한 곳의 글자 1개 삭제. (5x : 문자 5개 삭제)
dw
: 커서가 위치한 곳에서 부터 단어 삭제 (커서가 위치한 곳 부터 띄어쓰기 까지)
dd
: 커서가 위치한 곳의 한 줄 삭제 (삭제이지만, p로 복구가능)
u
: 방금 한 명령 취소 (ctrl + z 라고 생각하면 됩니다)
yy
: 현재 줄을 버퍼로 복사 (한 줄을 ctrl + c 한다고 생각하면 됩니다.)
p
: 현재 커서가 있는 줄 바로 아래에 버퍼 내용 붙여넣기 (이전에 복사한 줄을 현재 커서 아래부터 ctrl + v 한다고 생각하면 됩니다.)
(N)dd
: N 행 삭제 (삭제가 되는 것 처럼 보이지만 실제로는 버퍼에 들어가 있습니다. 버퍼에 들어가 있기 때문에 p를 이용해서 붙여넣기 가능)
k
: 위로! (커서가 한 줄 위로 올라감.)
j
: 아래로! (커서가 한 줄 아래로 내려감)
l
: 오른쪽으로! (커서가 한칸 우측으로감)
h
: 왼쪽으로! (커서가 한칸 좌측으로감)
0
: 커서가 있는 줄의 맨 앞으로 감 (home 키라고 생각하면 됩니다)
$
: 커서가 있는 줄의 맨 뒤로 감 (end 키라고 생각하면 됩니다)
(
: 현재 문장의 처음
)
: 현재 문장의 끝
{
: 현재 문단의 처음
}
: 현재 문단의 끝
숫자-
: 숫자 만큼 윗 줄로 이동
숫자+
: 숫자 만큼 아래 줄로 이동
G
: 파일의 끝으로 이동.
r
: 한 문자 변경
cc
: 커서가 있는 그 줄의 내용 변경
- 처음
- 입력 모드(insert mode)
- 명령모드에서
i
나a
명령을 통해서 입력 모드로 들어감 - 명령 모드로 다시 돌아오려면
ESC
를 누르면 됨 i
명령은 커서가 현재 위치한 부분에서 부터,a
는 커서 바로 다음 부분부터)
- 명령모드에서
- 마지막 행 모드(Last line mode)
-
마지막행 모드는 명령모드에서
:
(콜론) 을 입력하면 작성한 이 내용을 저장하고 vi를 종료 (wq
)할지, 그냥 종료(q
,q!
)할지 등을 입력할 수 있음대표젹인 vi 명령어
w
: 현재 파일명으로 파일 저장. (저장만 함 꺼지지는 않음)
w [파일명]
: 입력한 파일명으로 파일 저장. (저장만 함 꺼지지는 않음)
q
: vi 종료 (저장되지 않음)
q!
: vi 강제 종료 ( ! 가 붙으면 강제로 수행 )
wq
: 저장 후 종료
wq!
: 강제 저장 후 종료 ( ! 가 붙으면 강제로 수행)
f [파일명]
: 파일이름을 [파일명]으로 변경
숫자
: 해당 라인으로 커서 이동
$
:파일의 맨 끝 줄로 이동
e!
: 마지막 저장 이후 모든 편집 취소
/문자열
: 현재 커서 위치에서 부터파일 앞쪽으로 문자열 탐색
?문자열
: 현재 커서 위치에서 부터 파일 뒤쪽으로 문자열 탐색
set nu
: vi 라인 번호 출력
set nonu
: vi 라인 번호 출력 취소
-
자주사용하는 vi 명령어
- 명령모드
- 파일의 끝으로 이동할때는 -
G
- 한줄 잘라내기 -
dd
- 세줄 잘라내기 -
3dd
- 붙여넣기 -
p
- 한글자 삭제 -
x
- 단어 삭제 -
dw
- 실행취소! -
u
- 줄의 맨 앞 -
o
- 줄의 맨 뒤 -
$
- 파일의 끝으로 이동할때는 -
- 마지막행모드
- 저장만 :
w
- 종료만 :
q
- 저장 후 종료 :
wq
- 라인 번호좀 보자 :
set nu
- 커서 위치 뒤로 문자열좀 찾자 :
?문자열
- 커서 위치 앞으로 문자열좀 찾자 :
/문자열
- 저장만 :