일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Git
- UNIX
- 배열
- 순차 탐색
- 탐색
- 우분투
- 정렬
- 파이썬
- 기초
- 자료구조
- 분할 정복
- 그래프
- format 메서드
- 동적 계획
- 이진 탐색
- MiniHeap
- type 함수
- 문법
- sys.stdin.readline()
- 알고리즘
- 스택
- IT
- 트리
- 재귀 함수
- 유닉스
- 그리디
- 백준
- git hub
- NQueen
- 자기개발
- Today
- Total
코딩고치
[유닉스] Vim 본문
Vim
vim은 CLI환경에서 사용하는 텍스트 에디터이다. 유닉스에 설치되어 있는 기본 에디터로 꼭 알아야 할 프로그램이다.
Vim의 입력 모드
일반 모드 (Normal Mode) |
입력 모드 (Insert Mode) |
비주얼 모드 (Visual Mode) |
명령 모드 (Command Mode) |
커서 이동 | 텍스트 입력 | 텍스트 블록 지정 | 내용 저장 |
텍스트 붙여넣기 | 텍스트 복사 | vim 종료 | |
텍스트 삭제 | 특정 텍스트 검색 및 치환 | ||
작업 취소 |
모드 이동
각 명령어를 입력하면 다른 모드로 이동할 수 있다.
일반 모드 → 입력 모드: a, i, o, A, I, O (a: 커서가 마지막 글자에서 한 칸 띄운 곳에 위치함, i: 커서가 마지막 위치에 있음, o: 커서가 한 줄 아래 위치함, A: 커서가 맨 끝에 위치함, I: 커서가 첫 줄 맨 앞에 위치함, O: 커서 위에 빈 줄을 만들고 그 줄에 위치함 )
일반 모드 → 비주얼 모드: v, V
일반 모드 → 명령 모드: :, /
다른 모드 → 일반 모드: esc
※ 다른 모드로 이동하기 위해서는 꼭 일반 모드로 이동 후 다른 모드로 이동해야 한다.
입력 모드
터미널에 vim을 치면 프로그램을 켤 수 있다.
vim을 처음 실행하면 일반 모드로 실행된다. 모드 이동 명령어를 통해 다른 모드로 이동할 수 있다.
i를 눌러 입력 모드로 들어가면 아래 '-- 끼워넣기 --'라고 쓰여있는 것이 보인다. 이것은 입력 모드로 들어갔다는 것을 알려준다. 그리고 글을 입력할 수 있다.
명령 모드
파일 저장 및 vim 종료
명령 모드는 :을 눌러서 이동한다.
명령 모드로 이동하게 되면 맨 아래 :이 생긴 것을 볼 수 있다. 이 뒤에 명령어를 써주면 된다. w는 저장 명령어이다.
:w 뒤에 파일 이름을 적으면 된다.
저장을 완료하면 다음과 같은 메시지가 뜬다. 2L, 36C는 2줄 36글자라는 의미이다. 저장이 완료되면 자동으로 일반 모드로 돌아온다. vim을 종료하려면 :q를 입력하면 된다.
vim이 종료되고 터미널로 이동한다.
ls로 파일 목록을 보면 exercise가 생성된 것을 볼 수 있다. 다시 exercise를 열기 위해서 터미널에서 vim exercise를 입력하면 된다.
파일을 수정하고 다시 저장할 때에는 이미 만들어져 있는 파일이기 때문에 :w만 입력해 주면 된다. 파일을 수정하고 저장 후 바로 종료하기 위해서는 :wq를 입력하면 된다.
글을 추가로 작성하고 저장하지 않고 종료 명령어를 입력하면 다음과 같은 경고 메시지가 뜬다.
이렇게 저장하지 않고 강제로 종료하려면 :q! 를 입력하면 된다.
텍스트 검색 (/)
텍스트 검색을 하기 위해서 명령 모드로 들어가야 하는데 이때에는 :가 아니라 /를 이용하여 이동해야 한다. /뒤에 찾고자 하는 글을 쓰면 된다.
/a를 입력하면 a로 커서가 이동하게 된다. 다음 검색 내용으로 이동하려면 n을 누르면 된다. N을 누르면 이전 글자로 커서가 이동한다.
텍스트 치환
텍스트 치환은 :s를 이용하면 된다.
':s/바꿀 단어/새로운 단어'의 형식으로 입력해 주면 된다. 이때 커서는 바꿀 글자가 있는 줄에 위치하여야 한다.
바꿀 범위를 전체로 하기 위해서는 ':%s/바꿀 단어/새로운 단어'로 입력하면 된다.
모든 줄의 Lord가 King으로 바뀌었다. 하지만 2번째 줄을 보면 뒤에 있는 Lord는 바뀌지 않은 것을 볼 수 있다. %s는 첫 번째 나오는 글자만 바꿔주므로 모든 글자를 바꾸려면 ':%s/바꿀 글자/새로운 글자/g'를 입력해 주어야 한다. 또한 사용자가 하나씩 확인해 가면서 글자를 바꾸려면 ':%s/바꿀 글자/새로운 글자/gc'를 입력하면 된다.
일반 모드
커서 이동하는 법
1. 방향키
2. 알파벳 키
h: 왼쪽
j: 아래쪽
k: 위쪽
l: 오른쪽
숫자 입력 후 방향키나 알파벳 키를 누르면 그 방향으로 숫자만큼 이동한다.
'ctrl + g'를 누르면 현재 커서의 위치를 알려준다.
0: 현재 줄의 제일 앞으로 이동
$: 현재 줄의 제일 마지막으로 이동
gg: 첫째줄 제일 앞으로 이동
G: 가장 마지막 줄 제일 앞으로 이동
텍스트 삭제하기
x: 텍스트 한 칸씩 삭제
숫자 + x: 숫자만큼 삭제
dd: 한 줄 전부 삭제
2 + dd: 현재 커서 기준으로 아래로 2줄 삭제 (숫자만큼 삭제)
u: 이전 작업 취소
비주얼 모드
비주얼 모드에서 방향키를 누르면 블록이 지정된다.
블록 지정 후 작업할 수 있는 것
1. 텍스트 삭제
블록 지정 후 x: 블록 지정한 만큼 삭제
u: 작업 취소
2. 복사 - 붙여 넣기
y: 복사
블록 지정 후 y키를 누르면 아래 6줄이 복사되었다고 나온다. 복사되면 자동으로 일반 모드로 들어간다.
p: 현재 커서 다음에 붙여 넣기
P: 현재 커서 이전 칸에 붙여 넣기
V: 일반 모드에서 V를 누르면 줄단위로 블록 지정할 수 있다.
V를 이용하여 비주얼 모드에 진입한 후 p를 이용하여 붙여 넣기 하면 다음 줄에 복사가 된다.
3. 잘라내기
d: 블록 된 부분 삭제 (이 데이터는 임시 저장됨). 이후 p를 누르면 붙여 넣기를 할 수 있다.
'유닉스' 카테고리의 다른 글
[유닉스] 외부 프로그램 설치 (0) | 2020.04.27 |
---|---|
[유닉스] 명령어 사용 팁 (0) | 2020.04.20 |
[유닉스] head, tail - 파일 일부분만 출력 (0) | 2020.04.20 |
[유닉스] cat (concatenate), less - 파일 내용 출력 (0) | 2020.04.20 |
[유닉스] rm (remove) - 파일, 디렉토리 삭제 (0) | 2020.04.20 |