php教程 PHP开发 Linux에서 vi 명령의 전체 목록

Linux에서 vi 명령의 전체 목록

Dec 12, 2016 pm 04:24 PM

vi 입력 명령
vi 파일 이름: 새 파일을 열거나 만들고 첫 번째 줄의 시작 부분에 커서를 놓습니다.
vi +n 파일 이름: 파일을 열고 커서를 파일의 시작 부분에 놓습니다. n번째 줄
vi + 파일 이름: 파일을 열고 마지막 줄의 시작 부분에 커서를 놓습니다.
vi +/pattern 파일 이름: 파일을 열고 패턴과 일치하는 첫 번째 문자열에 커서를 놓습니다.
vi - r 파일 이름: 지난번에 vi로 편집할 때 시스템이 충돌했습니다. 복원 파일 이름
vi 파일 이름....파일 이름: 여러 파일을 열고 순차적으로 편집

커서 이동 명령
h: 이동 커서를 왼쪽으로 한 글자
l: 커서를 오른쪽으로 한 글자 이동
space: 커서를 오른쪽으로 한 글자 이동
백스페이스: 커서를 왼쪽으로 한 글자 이동
k 또는 Ctrl +p: 커서를 한 줄 위로 이동
j 또는 Ctrl+n: 커서를 한 줄 아래로 이동
Enter: 커서를 한 줄 아래로 이동
w 또는 W: 커서를 한 단어 오른쪽으로 이동 단어의 시작으로
b 또는 B: 커서를 한 단어 왼쪽으로 시작으로 이동합니다.
e 또는 E: 커서를 단어의 끝으로 한 단어 오른쪽으로 이동합니다.
): 문장 끝으로 커서 이동
(: 문장 시작 부분으로 커서 이동
}: 문단 시작 부분으로 커서 이동
{: 문단 끝 부분으로 커서 이동
nG: 커서가 n 줄의 시작 부분으로 이동
n+: 커서가 n 줄 아래로 이동
n-: 커서가 n 줄 위로 이동
n$: 커서가 n 줄의 끝으로 이동 n
H: 커서가 화면의 맨 윗줄로 이동합니다.
M: 커서가 화면의 가운데 줄로 이동합니다.
L: 커서가 화면의 마지막 줄로 이동합니다.
0 : (숫자 0임) 커서가 현재 줄의 시작 부분으로 이동
$: 커서를 현재 줄의 끝으로 이동

화면 스크롤 명령
Ctrl+u: 파일의 시작 부분으로 반 화면 스크롤
Ctrl+d: 파일의 끝으로 반 화면 스크롤
Ctrl+ f: 파일의 끝으로 한 화면 스크롤
Ctrl+b; 한 화면에서 파일 시작 부분까지
nz: n번째 줄을 화면 상단으로 스크롤합니다. n이 지정되지 않은 경우 현재 줄을 화면 상단으로 스크롤합니다. >텍스트 명령 삽입
i: 커서 앞
I: 현재 줄의 시작 부분
a: 커서 뒤
A: 현재 줄의 끝
o: 현재 줄 아래 열기
O: 현재 줄 위에 새 줄 열기
r: 현재 문자 바꾸기
R: ESC 키를 누를 때까지 현재 문자와 그 뒤의 문자 바꾸기
s: 현재 커서 위치부터 시작 지정된 문자 수를 입력된 텍스트로 대체
S: 지정된 행 수를 삭제하고 입력된 텍스트로 대체
ncw 또는 nCW: 지정된 문자 수 수정
nCC: 지정된 문자 수정 문자 수 라인

삭제 명령
ndw 또는 ndW: 커서에서 시작하여 그 뒤에 오는 n-1 문자를 삭제합니다.
do: 라인의 시작 부분까지 삭제
d$: 줄 끝까지 삭제
ndd: 현재 줄과 그 뒤의 n-1 줄 삭제
x 또는 X: 한 문자 삭제, x는 커서 뒤의 문자 삭제 및 텍스트

검색 및 바꾸기 명령
/pattern: 커서 시작부터 파일 끝까지 패턴 검색
?pattern: 커서 시작부터 파일 시작까지 패턴 검색
n : 같은 방향으로 반복 마지막 검색 명령
N: 마지막 검색 명령을 반대 방향으로 반복
: s/p1/p2/g: 현재 행의 모든 ​​p1을 p2로 대체
: n1, n2s/p1/p2 /g: n1~n2 행의 모든 ​​p1을 p2로 대체
: g/p1/s//p2/g: 파일의 모든 p1을 p2로 대체

옵션 설정
all: 모든 옵션 설정 나열
term: 터미널 유형 설정
ignorance: 검색 시 대소문자 무시
list: 탭 정지(Ctrl+I) 및 줄 끝 표시($) 표시
number: 줄 번호 표시
report: 줄 중심 명령으로 수정된 번호 표시
terse: 간단한 경고 메시지 표시
warn: 다른 파일로 전환할 때 현재 파일이 저장되지 않는 경우 표시 정보 쓰기 없음
nomagic: 검색 모드 앞에 "" 없이 특수 문자 사용을 허용합니다.
nowrapscan: 검색이 파일의 양쪽 끝에 도달하면 vi가 다른 쪽 끝에서 시작하는 것을 금지합니다.
mesg: vi는 write

마지막 줄 명령
: n1, n2 co n3: n1~n2 줄 사이의 내용을 n3 줄
을 사용하여 다른 사용자가 자신의 터미널에 작성한 정보를 표시합니다. n1, n2 m n3: n1~n2 행 사이의 내용을 n3 행의 맨 아래로 이동
: n1, n2 d: n1~n2 행 사이의 내용 삭제
: w: 현재 파일 저장
: e filename: 편집할 파일 이름 열기
: x: 현재 파일을 저장하고 종료
: q: vi 종료
: q!: 파일을 저장하지 않고 vi 종료
:!command: 쉘 명령 명령
실행: n1, n2 w!command: 파일의 n1 ~ n2 행의 내용을 명령의 입력으로 사용하여 실행합니다. n1, n2가 지정되지 않은 경우. 전체 파일 내용은 명령의 입력으로 사용됩니다.
: r!command: 명령 명령의 출력을 현재 줄에 넣습니다.

작업 등록
"?nyy: 현재 명령의 내용을 저장합니다. 라인과 그 아래 n 라인 레지스터에? , 여기서 ?는 문자, n은 숫자
"?nyw: 현재 줄과 다음 n 단어를 레지스터에 저장합니까?, 여기서 ?는 문자, n은 숫자
"?nyl: 현재 행과 다음 n자를 레지스터에 저장합니까?, 어디에서 ?는 문자이고 n은 숫자
"?p: 레지스터를 꺼내나요? 그리고 커서 위치에 놓습니다. 여기? 문자나 숫자일 수 있습니다.
ndd: 현재 줄과 그 아래 n줄의 텍스트를 삭제하고, 삭제된 내용을 삭제 레지스터 1번에 넣습니다.

VI 사용
------------------------- --- ----------------

1. 텍스트 삽입
┌──┬────────────┐
│명령│설명│
├──┼───────── ───┤
│i  │현재 문자 앞에 텍스트 삽입│
├──┼────────────┤
│I  │문자 앞에 텍스트 삽입 line│
├─ ─┼────────────┤
│a  │현재 문자 뒤에 텍스트 추가│
├──┼──────── ────┤
A ────────────┤
│O  │현재 줄 앞에 빈 줄 삽입 │
├──┼────── ──────┤
│R │다시 쓰기 모드에서 텍스트 입력│
└──┴────────────┘
커서 이동
2. ┌─────┬──── ───────┐
│명령│설명│
├─────┼───────────┤
│j 또는 아래쪽 화살표│아래로 한 줄 이동│
├─────┼──────────┤
│k 또는 위쪽 화살표│한 줄 위로 이동│
├──────┼─── ────────┤
│h 또는 왼쪽 화살표│왼쪽으로 한 문자 이동│
├─────┼───── ──────┤
│l 또는 오른쪽 화살표 │한 문자 오른쪽으로 이동│
├─────┼───────────┤
│w │한 단어 오른쪽으로 이동│
├──── ─┼───────────┤
│W   │공백으로 구분하여 오른쪽으로 한 단어 이동│
├─ ────┼─────────── ┤
│b   │한 단어 왼쪽으로 이동│
├─────┼────────── ─┤
│B   │한 단어를 공백으로 구분하여 왼쪽으로 이동│
├─────┼───────────┤
│0   │처음으로 이동 줄│
│Ctrl-F │페이지 앞으로│
├─ ────┼──────────┤
│Ctrl-B │페이지 뒤로│
├ ─────┼────────── ─┤
│nG  │n번째 줄로│
├─────┼──────────┤
│G  │마지막 줄│
└─ ────┴──────────┘
대체 텍스트
┌─────┬ ──────┐
│명령│설명│
├─────┼──────┤
│$   │줄 끝까지│
├─ ────┼──────┤
│(   │To 문장 시작 부분│
├─────┼──────┤
│)   │To 문장 끝│
├────┼───────┤
4. 텍스트 삭제
┌───┬── ────────┐
│명령│설명│
├─── ┼───────────┤
│r  │문자 바꾸기│
├───┼───────────┤
│c  │Esc를 누를 때까지 텍스트 수정│
├───┼──────────┤
│cw │다음 단어 수정│
├───┼──── ───────┤
│cnw  │다음 n 단어 수정│
└───┴ ────────────┘
5. 텍스트 편집
┌──┬────────────────────┐
│밍지│설명│
├──┼─────── ─── ───────────┤
│yy │한 줄의 텍스트를 기본 버퍼로 이동│
├──┼────────── ───── ───────┤
│yn │다음 단어를 기본 버퍼로 이동│
├──┼──────────── ──────── ──┤
│ynw │다음 n 단어를 기본 버퍼로 이동│
├──┼──────────── ──────────┤
│p  │기본 버퍼에 텍스트 줄이 포함된 경우 현재 │
│ │ 줄 뒤에 빈 줄을 삽입하고 기본 버퍼의 텍스트를 바꿉니다. 사운드 │
│ │를 이 줄에 붙여넣습니다. 기본 버퍼에 여러 단어 │
│ │가 포함된 경우 해당 단어를 커서 오른쪽에 붙여넣습니다. │
├──┼──────────────────────┤
│P │기본 버퍼에 텍스트 줄이 포함된 경우 현재 │
│ │줄 앞에 빈 줄을 삽입하고 기본 버퍼의 내용 │
│ │을 이 줄에 붙여넣습니다. 기본 버퍼에 │
│ │여러 단어가 포함되어 있으면 이 단어를 왼쪽에 붙여넣습니다. 커서

 │
└──┴───────────────────────┘
Six , 저장하고 종료
┌───────────┬─────────────┐
│명령│설명│
├─── ───── ───┼──────────────┤
│zz     │저장하고 나가기│
├─────────── ┼──── ───────────┤
│:w 파일명  │파일 쓰기│
├──────────┼───── ────── ────┤
│:W    │파일 쓰기│
├───────────┼──────────── ───┤
│:x   │저장하고(현재 파일이 수정된 경우) 종료│
├───────────┼──────────── ───┤
│:q!     │파일을 저장하지 않고 바로 나가기│
├─────────┼────────────── ┤ │ 여러 세트가 있습니다 , 그리고 많은 사람들이 이 방법에 익숙하지 않습니다. 사실, 기본적인 명령만 숙지하고 유연하게 사용하면 이 방법의 장점을 발견하고 점차적으로 이 방법을 사용하게 될 것입니다. 이 문서에서는 가장 일반적으로 사용되는 명령과 VI의 고급 응용 기술을 소개하는 것을 목표로 합니다.

1. 기본 명령어 소개

--- 1. 커서 명령

k, j, h, l - 상하좌우 커서 이동 명령입니다. Linux에서는 키보드 오른쪽에 있는 4개의 커서 키를 사용할 수 있지만 이 4개의 명령을 기억하는 것은 여전히 ​​매우 유용합니다. 이 4개의 키는 키보드에서 오른손의 기본 위치입니다.
nG——점프 명령. n은 줄 수입니다. 이 명령은 커서를 지정된 줄로 즉시 이동합니다.
Ctrl+G - 커서 위치의 행과 열 수를 보고합니다.
w, b - 커서가 한 단어를 앞으로 또는 뒤로 건너뛰도록 합니다.
---- 2. 명령 편집
i, a, r - 커서 앞, 뒤, 위치에 문자 명령을 삽입합니다(i=삽입, a=추가, r=교체).
cw, dw - 커서 위치의 단어를 변경(교체)/삭제하는 명령입니다(c=변경, d=삭제).
x, d$, dd - 한 문자를 삭제하고, 커서부터 줄 끝까지의 모든 문자를 삭제하고, 줄 전체를 삭제하는 명령입니다.
---- 3. 검색 명령
----/string,?string——커서 위치를 기준으로 앞뒤로 해당 문자열을 검색하는 명령입니다.
---- 4. 복사 명령
---- yy, p - 한 줄을 클립보드에 복사하거나 클립보드의 내용을 제거하는 명령입니다.

2. 자주 묻는 질문 및 지원요령

--- 1. 새 파일에서 /etc/passwd의 내용을 읽고 사용자 이름 부분을 추출합니다.
---- vi 파일
---- :r /etc/passwd 열린 파일 파일에서 커서 위치의 /etc/passwd 읽기
---- :%s/:.*//g /etc/passwd에서 사용자 이름 뒤의 콜론부터 줄 끝까지의 모든 부분을 삭제합니다.
---- 지정된 줄 번호 이후의 파일 내용을 읽을 수도 있습니다. 예를 들어 ":3r /etc/passwd" 명령을 사용하면 /etc/passwd의 세 번째 줄부터 모든 내용을 읽을 수 있습니다. 새 파일.
---- 다음 방법을 사용하여 파일에서 #으로 시작하는 모든 빈 줄과 주석 줄을 삭제할 수도 있습니다.
---- #cat squid.conf.default | grep -v ^$ | grep -v ^#

---- 2. 편집을 위해 파일을 연 후, 로그인한 사용자에게 파일에 대한 쓰기 권한이 없어 변경 사항을 임시 파일에 저장해야 한다는 사실을 알게 되었습니다.
---- vi 파일
---- :w /tmp/1 모든 변경 사항을 저장합니다. 변경 사항 중 일부를 임시 파일에 저장할 수도 있습니다(예: 20~59행). 사이의 내용은 /tmp/1 파일에 저장됩니다. 다음 명령을 입력할 수 있습니다.
---- vi 파일
---- :20,59w /tmp/1

---- 3. VI를 사용하여 파일을 편집하지만 내용의 상당 부분을 삭제해야 합니다.
---- 먼저 편집 명령 "vi file"을 사용하여 파일을 연 다음 삭제해야 할 줄로 커서를 이동하고 Ctrl+G를 눌러 줄 번호를 표시한 다음 Ctrl+G를 눌러 줄 번호를 표시합니다. 파일 끝 부분에 줄 번호를 표시합니다.
---- :23,1045d 두 번 얻은 줄 번호가 23과 1045라고 가정하고, 이 기간 동안 모든 내용을 삭제하려면 ma 및 mb 명령을 사용하여 시작 줄과 끝 줄을 표시할 수도 있습니다. 삭제한 후 ":a,bd" 명령을 사용하여 삭제하세요.

---- 4. 전체 파일의 각 줄 또는 일부 줄의 시작이나 끝 부분에 일부 문자열을 추가합니다.
---- vi 파일
---- :3,$s/^/some string / 파일의 첫 줄부터 마지막 ​​줄까지 "some string"을 삽입합니다.
---- :%s/$/some string/g 전체 파일의 각 줄 끝에 "some string"을 추가하세요.
---- :%s/string1/string2/g 전체 파일에서 "string1"을 "string2"로 바꿉니다.
---- :3,7s/string1/string2/ 파일의 3~7번째 줄에 있는 "string1"만 "string2"로 바꿉니다.
---- 참고: s는 대체, %는 모든 행, g는 전역을 나타냅니다.

---- 5. 2개의 파일을 동시에 편집하고 한 파일의 텍스트를 복사하여 다른 파일에 붙여넣습니다.
---- vi file1 file2
---- yy 파일 1의 커서 위치에 줄을 복사합니다
---- :n 파일 2로 전환 (n=next)
-- -- p 복사한 줄을 파일 2의 커서 위치에 붙여넣기
---- :n 파일 1로 다시 전환

---- 6. 파일의 경로를 바꾸십시오.
---- ":%s#/usr/bin#/bin#g" 명령을 사용하여 파일의 모든 경로 /usr/bin을 /bin으로 바꿉니다. ":%s//usr/bin//bin/g" 명령을 사용할 수도 있습니다. 여기서 ""는 이스케이프 문자로, 다음 "/" 문자는 구분 기호가 아니라 실제 의미가 있는 문자임을 나타냅니다.

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)