-
[Linux]vim 명령어OS/Linux 2021. 8. 14. 19:39
1. vim 이란?
vi improved의 약어로 향상된 vi를 뜻합니다.
Bram Moolenaar가 C언어를 사용하여 개발하였으며, 멀티 플팻폼을 지원합니다.
간혹 vi와 동일 시 하는 분들이 있으나 vi와 vim는 다릅니다.
vim은 vi와 호환이 가능한 문서 편집기 이며,
vi는 William Nelson Joy가 개발한 오픈소스 문서 편집기로 개발자부터 다르며, 주로 유닉스(UNIX)계열 운영 체제에서 사용됩니다.
이러한 혼란이 생긴 것은 많은 리눅스나 유닉스에서 vi 명령어를 입력시 vim이 작동하도록 하여 발생했습니다.
2. vim 명령어
2.1. 실행 명령어
vim "파일 이름"
vim /경로/파일이름파일을 편집/생성 후 편집 하는 명령어 입니다.
아래는 간단한 예시 입니다.
더보기다음은 실행 명령어를 사용한 간단한 예제 입니다.
2.2. 이동 명령어
esc를 누른 뒤 입력해야 합니다.
*아래서 말하는 커서는 vim 편집기 기준 깜빡거리는 부분입니다.
명령어 설명 h 방향키의 ← 와 동일합니다. 커서를 왼쪽으로 이동합니다. j 방향키의 ↓ 와 동일합니다. 커서를 아래쪽으로 이동합니다. k 방향키의 ↑ 와 동일합니다. 커서를 위쪽으로 이동합니다. l 방향키의 → 와 동일합니다. 커서를 오른쪽으로 이동합니다. H 화면 최상단으로 이동 M 화면 중간으로 이동 L 화면 최하단으로 이동 ^ 해당 행의 처음으로 이동 $ 해당 행의 끝으로 이동 w 다음 단어 끝으로 이동(밑에 더보기에 예시) e 다음 단어 앞으로 이동(밑에 더보기에 예시) ctrl + i 현재 화면 크기 만큼 위로 이동 ctrl + b 현재 화면 크기 만큼 아래로 이동 ctrl + d 현재 화면 크기의 반 만큼 위로 이동 ctrl + u 현재 화면 크기의 반 만큼 아래로 이동 숫자 + 방향키 해당 숫자 만큼 방향키 방향으로 이동합니다.
방향키 및 h j k l 키 또한 가능합니다. (밑에 더보기에 예시)몇몇 명령어의 예시입니다.
2.3. 모드 명령어
esc를 누른 뒤 입력해야 합니다.
명령어 설명 i 현재 커서 위치에서 입력모드로 전환합니다. insert 키를 눌러도 동작합니다. I (대문자 i) 현재 커서의 제일 왼쪽(행의 첫 부분)에서 입력모드로 전환합니다. o 현재 커서의 다음 줄(아랫 줄)에 빈 행을 생성하고 입력모드로 전환합니다. O 현재 커서의 전 줄(윗 줄)에 빈 행을 생성하고 입력모드로 전환합니다. a 현재 커서의 바로 한칸 뒤에서 입력모드로 전환합니다. A 현재 커서의 제일 오른쪽(행의 끝 부분)에서 입력모드로 전환합니다. R 입력모드로 전환한 뒤 현재 커서 위치 부터 덮어 씁니다. 혹은 insert 키를 두 번 눌러 동작합니다.
*insert키를 한 번 더 누르면 일반 입력모드로 전환됩니다.2.4. 삭제 명령어
esc를 누른 뒤 입력해야 합니다.
명령어 설명 x 현재 커서의 한 글자 삭제합니다. 숫자 + x 현재 커서에서 숫자 만큼의 글자를 삭제합니다. dd 현재 커서가 있는 줄을 삭제합니다. 숫자 + dd 현재 커서가 있는 줄 부터 숫자 만큼의 줄을 삭제합니다. D 현재 커서가 있는 줄의 현재 커서 위치부터 뒤로 모두 삭제합니다. :숫자, 숫자d숫자 줄 부터 숫자줄까지 삭제합니다. ex) :1,5d + enterdw 현재 커서의 뒷 부분 한 단어 삭제합니다. db 현재 커서의 앞 부분 한 단어를 삭제합니다. u undo 명령어로, 작업 취소를 뜻합니다. 2.5. 복사 & 붙여넣기
esc를 누른 뒤 입력해야 합니다.
명령어 설명 yy 현재 줄을 복사합니다. 숫자 + yy 현재 줄을 기준으로 숫자 번째 줄까지 복사합니다. (밑에 더보기에 예시) 숫자 + y 현재 줄을 포함하여 아래로 숫자 번째 줄까지 복사합니다. (밑에 더보기에 예시) :숫자, 숫자y숫자 ~ 숫자줄을 복사합니다.p 복사한 내용을 커서 뒤에 삽입합니다. P (대문자) 복사한 내용을 커서 앞에 삽입합니다. :숫자pu 숫자 줄에 복사한 내용을 삽입합니다. d 현재 커서 위치의 단어를 복사합니다. 몇몇 명령어의 예시입니다.
2.6. 특정 문자 찾기
esc를 누른 뒤 입력해야 합니다.
명령어 설명 /찾을 문자 입력한 문자열을 찾아 표시 합니다. n 검색한 문자의 다음 문자열을 보여줍니다. N 검색한 문자의 이전 문자열을 보여줍니다. 2.7. 문자열 변경/대체/치환
명령어 설명 :%s/ㅁㅁㅁ/AAA 전체의 ㅁㅁㅁ 문자열을 AAA로 변경합니다. :s/ㅁㅁㅁ/AAA 커서가 있는 줄의 ㅁㅁㅁ를 AAA로 변경합니다. :l,.s/ㅁㅁㅁ/AAA 첫번째 줄 부터 현재 커서가 있는 줄까지 ㅁㅁㅁ를 AAA로 변경합니다. :.$/ㅁㅁㅁ/AAA 현재 커서가 있는 줄부터 마지막 줄까지 ㅁㅁㅁ를 AAA로 변경합니다. 2.8. 저장, 종료, 불러오기
명령어 설명 :w 현재 내용을 지정된 파일에 저장합니다. :w 파일명 현재 내용을 "파일명"파일에 저장합니다. ex):w info.php :wq 현재 내용을 지정된 파일에 저장하고 편집을 종료합니다. :wq 파일명 현재 내용을 "파일명"파일에 저장하고 편집을 종료합니다. :q 편집을 종료 (현재 내용은 저장되지 않음 & 수정된 내용이 있을시 :q 명령어를 통해 종료 불가능) :q! 편집을 강제 종료 (현재 내용은 저장되지 않음 & 수정된 내용이 있어도 강제 종료하며 저장하지 않음) :숫자,숫자w 파일명 숫자~숫자 줄까지 내용을 "파일명"파일에 저장합니다. 2.9. etc
명령어 설명 :set nu 줄(행) 번호를 표시합니다. :set nonu 줄(행) 번호를 안보이게 합니다. . 직전 명령어를 재실행 2.10 전체 명령어
vimtutor
해당 명령어를 터미널에 입력시 vim의 전반적인 내용과 명령어에 대해 설명하고 있습니다.
3. 마치며
급하게 명령어만 검색 하실 분들을 위해 몇몇 예시는 접은글 처리를 하였습니다.
vim을 처음 공부하시는 분들은 접은글을 펼치시고 참고하시면 좋겠습니다.
해당 내용은 터미널에 vimtutor 명령어를 입력시 자세하게 학습 가능합니다.
추가로 포스팅에 사용된 vim은 8.1 버전을 기준으로 하고 있습니다.
다음 기회에는 vim을 통해 코드 작성을 하기 위해 어떤 설정을 해줘야 하는지를 다루도록 하겠습니다.
'OS > Linux' 카테고리의 다른 글
[Linux][NAS] NAS 제작 1. OMV6 + FileBrowser 편 (2) 2024.01.14 [Linux][VMware] 우분투 20.04 LTS 미러서버 변경 (0) 2021.08.14 MX Linux 설치 (MX-19.4)(VMware) (0) 2021.07.06 [Linux][VMware] 우분투 20.04 LTS 한글 입력기 설치 (0) 2021.05.24 [Linux][VMware] 우분투 20.04 LTS 설치 (2) 2021.05.24