vi와 vim의 차이점은 무엇인가요?
소프트웨어 테스트 엔지니어로서 필연적으로 Linux 시스템을 운영해야 합니다. vi/vim은 Linux 시스템에 내장된 필수 텍스트 편집 명령입니다. VIM은 vi의 향상된 버전이며 모든 지침과 호환됩니다. vi. 텍스트를 편집할 수 있을 뿐만 아니라 쉘 프로그램 편집 기능도 있습니다. 다양한 색상의 글꼴을 사용하여 문법의 정확성을 식별할 수 있으므로 프로그램의 설계 및 편집이 매우 용이해집니다.
vi/vim에는 명령 모드/명령 모드, 삽입 모드(입력 모드), 마지막 줄 모드/마지막 줄 모드의 세 가지 모드가 있습니다.
명령 모드/일반 모드:
vi/vim을 시작한 다음 일반 모드로 들어가면 커서 이동, 복사 및 붙여넣기, 문자 삭제 등을 할 수 있습니다. 이 상태에서 키보드 입력은 명령 조작으로 인식됩니다. 일반적으로 사용되는 입력으로는 i(삽입 모드로 전환), x(현재 커서 아래에 있는 문자 삭제), :(명령줄 모드로 전환) 등이 있습니다.
삽입 모드:
일반 모드에서 키보드의 i, I, o, O, a, A를 눌러 삽입 모드로 들어가면 --INSERT--가 나타납니다. 화면 왼쪽 하단에 표시된 단어는 현재 모드에서 사용자가 텍스트 내용을 편집하고 수정할 수 있음을 나타냅니다. 편집 모드를 종료하려면 Esc를 누르세요.
마지막 줄 모드/명령 명령 모드:
일반 모드에서 키보드 누르기: / ?어느 쪽이든 커서가 맨 아래 줄로 이동하고 마지막 줄 모드로 들어갑니다. 데이터 찾기, 파일 바꾸기, 저장, vi 종료, 줄 번호 표시 및 기타 작업을 수행할 수 있습니다.
1. vi Lemon.txt:
Lemon.txt 파일을 열고 일반 모드로 진입하면, Lemon.txt가 존재하지 않으면 Lemon.txt 파일이 생성된다. 저장하고 종료하면 새 파일이 생성됩니다.
2. 커서 이동:
일반 모드로 진입한 후 키보드로 다음을 입력하면 커서 위치를 이동할 수 있습니다.
[Ctrl]+[f]: 커서를 한 페이지 아래로 이동합니다.
[Ctrl]+[b]: 커서를 한 페이지 위로 이동합니다.
0: 커서가 위치한 줄의 첫 번째 문자로 이동합니다.
$: 커서가 위치한 줄의 마지막 문자로 이동합니다.
[PgUp]/[PgDn]/[Home]/[End] 버튼: 현재 커서에서 상하좌우로 이동합니다.
G: 이 파일의 마지막 줄로 이동합니다.
g: 이 파일의 첫 번째 줄로 이동합니다.
N[Enter]: N은 숫자이고 커서는 N 줄 아래로 이동합니다.
3. 삭제, 복사 및 붙여넣기:
일반 모드에 진입한 후 키보드로 다음을 입력하여 삭제, 복사 및 붙여넣기를 할 수 있습니다.
x,X: 단어 줄에서 x는 한 문자를 뒤로 삭제합니다([Del] 키와 동일).
dd: 커서가 있는 줄 전체를 삭제합니다.
ndd: 커서가 위치한 곳에서 아래쪽으로 n 줄을 삭제합니다.
yy: 커서가 있는 줄을 복사합니다.
nyy: 커서가 있는 곳 아래로 n 줄을 복사합니다.
p,P: p는 복사한 내용을 커서 옆 줄에 붙여넣는다는 뜻이고, P는 커서 위 줄에 붙여넣는다는 뜻입니다.
4. 일반 모드에서 삽입 모드로 전환:
일반 모드로 들어간 후 키보드로 입력하여 파일 편집 작업을 수행하면 삽입 모드로 전환할 수 있습니다.
i,I: 삽입 모드로 들어갑니다. i는 현재 커서 위치부터 삽입합니다. 현재 줄에서 공백이 아닌 첫 번째 문자부터 삽입을 시작합니다.
a, A: 삽입 모드로 들어갑니다. a는 현재 커서가 위치한 다음 문자부터 삽입한다는 의미입니다.
A는 줄의 마지막 문자부터 삽입하는 것을 의미합니다.
o, O: 삽입 모드로 들어갑니다. o는 다음 줄에 삽입됩니다. O는 이전 줄에 삽입한다는 의미입니다.
5. 찾기 및 바꾸기:
vi를 눌러 파일을 입력한 후 다음 작업을 수행하여 찾기 및 바꾸기를 수행할 수 있습니다.
/lemon: 아래로 검색 레몬 스트링이라는 파일의 경우.
?lemon: 레몬이라는 문자열을 위쪽으로 검색합니다.
:n1,n2s/lemon1/lemon2/g: n1행과 n2행 사이에서 Lemon1 문자열을 찾아 이를 Lemon2로 바꿉니다.
:1, $s/lemon1/ Lemon2/g: 첫 번째 줄부터 마지막 줄까지 레몬1 문자열을 찾아 레몬2로 바꿉니다.
:1,$s/lemon1/lemon2/gc: 첫 번째 줄부터 마지막 줄까지 검색 한 줄부터 마지막 줄까지 레몬1 문자열을 입력하고 이를 레몬2로 바꿉니다. 교체하기 전에 교체가 필요한지 확인하는 프롬프트 문자가 사용자에게 표시됩니다.
6. 데이터 편집 후 마지막 줄 모드로 전환:
파일 편집 후 키보드의 Esc를 눌러 편집 모드를 종료하면 다음 작업을 수행할 수 있습니다. ,
:w: 편집된 데이터를 하드 디스크에 씁니다.
:q: 저장하지 않고 vi를 종료합니다. 나중에 추가하세요! 강제 종료 vi.
:wq: 저장 후 vi를 종료합니다. 나중에 추가하세요! 강제로 저장하고 종료하려면 vi.
VIM은 vi의 업그레이드 버전입니다. vi의 모든 명령과 호환되는 것 외에도 VIM에는 주로 다음과 같은 몇 가지 새로운 기능이 있습니다.
다중 레벨 실행 취소
p>vi에서는 u를 누르면 마지막 명령만 취소할 수 있지만 VIM에서는 제한 없이 취소할 수 있습니다.
사용 용이성
vi는 unix에서만 실행될 수 있는 반면 VIM은 unix, windows, mac 및 기타 운영 플랫폼에서만 실행될 수 없습니다.
구문 강조
VIM은 코드를 다양한 색상으로 강조 표시할 수 있습니다.
시각적 조작
VIM은 터미널뿐만 아니라 x window, mac os, windows에서도 실행할 수 있습니다.