VI : 리눅스 (5) 명령

명령을 입력 VI 
VI 파일명 : 열거 나 새 파일의 첫 번째 행과 첫 번째 커서 생성 
VI + N 파일 이름 : 파일을 열고, 제 n 행 제 커서 
VI + 파일 이름 : 파일을 오픈하고, 커서 첫 번째의 마지막 줄 
VI + / 패턴 파일 이름 : 파일을 열 및 제 1 커서 패턴은 문자열과 일치하는 
VI -r 파일 이름 : 시스템 충돌은 마지막 편집 타이밍 VI는 파일 이름을 복원 할 때 발생 
VI 파일 이름을 ... .filename : 오픈 여러 파일이 순차적 편집 

의 커서 명령 이동
시간을 하나 개 문자 커서 
커서를 한 문자 : l를 
공간 : 커서를 한 문자 
백 스페이스를 하나 문자 커서 
K 또는 Ctrl + P는 : 커서 열 이동 
J 또는 Ctrl + N을 하나 개 광고를 커서 
입력 한 행 아래로 커서 
커서 우측 프리픽스 워드로 : w 또는 w 
B 또는 B : 접두어 한 문자 커서 
E 또는 E를 : 커서 바로 단어에 접미사 
) 문장의 끝 커서 
(: 첫 번째 문장으로 커서를 이동 
} 단락의 시작 부분에 커서를 이동 
{단락의 끝으로 커서를 이동 
NG : 제 n 번째 줄에 커서 
N + 여기서 n 행 하부 커서 
N - : 이동 커서 N 행 
N은 $ : n 번째 행의 끝으로 커서를 이동 
H : 맨 위 행으로 커서를 이동 
남 : 라인에 스크린 커서의 중간 
L : 마지막 행에 화면의 커서 
0 :( 노트는 숫자 0) 현재 라인에 커서 
$ : 현재 줄의 끝으로 커서를 이동 

의 화면 롤 명령의 
Ctrl 키 + U : 첫 번째 문서로 전환 반 화면 
Ctrl 키 + D는 : 파일 반 화면의 끝에 설정 
파일의 끝에 스크린 회전 : Ctrl 키 + f를이 
다운 (Down) 파일 헤더 한 화면 Ctrl 키 + B 
롤러 n 번째 화면 상단 라인 N은 현재 행 압연을 지정하지 않은 경우 : 뉴질랜드 화면 상단. 

텍스트 형 명령 삽입 
난을 : 커서 전에 
I : 현재 라인에서 
A : 커서 후 
A : 현재 라인 
O : 현재 라인 아래에 새 행 열 
O를 : 현재 라인 위에 새로운 라인 열 
R을 : 현재의 문자를 교체 
R : 현재 문자와 다음의 문자를 대체 할 때까지 ESC 키를 누르면 
S : 문자의 입력 대체 텍스트를 지정한 번호로 현재 커서 위치에서 시작하여 
S를 : 지정된 수의 행을 삭제하고 대신 입력 텍스트의 
NCW 또는 NCW는 : 단어의 지정된 수정 
지정된 수의 행 수정 NCC 

명령 삭제 
NDW 또는 NDW을 : 시작하고 커서가 삭제 단어 N-1은 
첫 번째 행의 삭제 : 할을 
개발을 $ : 라인의 끝 삭제 
NDD : 현재 삭제 행 후 N-1 및 라인 
X 또는 X : 문자를 삭제 커서 X를 삭제 및 커서가 삭제되기 전에 X 후 
입력 텍스트에서 입력 모드를 지우기 : Ctrl 키 + U 

검색 및 교체 명령 
/ 패턴 : 커서부터 파일의 마지막에 검색 패턴의 시작 부분에서 
파일을 제 검색 패턴의 시작 부분에 커서로부터 패턴 :? 
N은 : 동일한 방향에서 마지막 검색 명령을 반복 
N : 반대 방향으로 마지막 검색 명령을 반복한다 
: S / P1 / P2를 / g : 현재의 모든 라인 P1에서 P2는 다르게 사용된다 
: N1, N2S / P1 / P2 / g : 모든 P1에서 P2를 (N2)에 제 행 N1 대안 사용된다 
: g / P1 / s // P2 / g : 모든 P1의 P2가 파일로 대체 된 

옵션 설정 
모든 : 목록의 모든 옵션 설정 상황의 
용어 : 설정 터미널 유형의 
무지 : 검색의 경우 무시 
목록 : 디스플레이 탭 정지합니다 (Ctrl + I) 및 라인 마크의 끝 ($) 
번호 : 줄 번호 표시 
보고서 :의 수를 통해 디스플레이 라인 지향 명령을 수정 
간결 : 표시되는 간단한 경고 메시지가 
경고 : 현재 파일을 저장하지 않은 다른 하나는 NO 쓰기 정보가 표시되지 않는 경우 때 파일에 
nomagic을 : 검색 모드를 허용, 에서 "\"최고의 않고 특수 문자를 사용 
nowrapscan : 검색에서 금지 VI는 파일의 양쪽 끝을 도달하고, 시작의 다른 쪽 끝에서 
중 mesg : 다른 사용자가 자신의 단말기에 정보 쓰기 VI 쇼를 쓰기 사용할 수 있도록 

마지막 줄 모드 명령 
: N1을, N2 공동 N3 :의 라인 N1 라인에 N2 상기 다음 행 N3의 내용을 복사 
N2, N3 행의 다음 행으로 이동하는 콘텐츠 사이 N1 행 : N1, N2 m의 N3을 : 
행간 (N2)로 로우 (N1)의 내용을 삭제 : N1, N2 D : 
: W는 : 현재 파일을 저장 
: 전자 파일 이름 : 편집을 위해 파일 이름을여십시오 
: X : 현재 파일 종료 저장 
Q를 : VI 종료 
Q를 :! 파일 종료 VI 저장하지 마십시오 
! 명령은 : 쉘을 실행을 명령 명령 
N1, N2를 : N1을 지정하지 않은 경우, 명령 승 :! 파일 N1 N2 행은 커맨드 입력의 내용으로 행 및 실행하기 위해, N2, 그것을 나타내는 것을 명령 입력으로 전체 파일의 내용 
! R 명령 : 명령 출력 명령 현재 라인에 

레지스터 동작 
"NYY는 : ?? 레지스터, 상기 편지로 현재 라인의 내용과 다음의 n 행을 저장 n은 숫자 
"nyw :? 현재 라인과 그 다음 n 문자를 저장 등록? 하는 편지, n은 숫자입니다? 
"NYL : ?? 현재 라인과 레지스터에 다음 n 문자, 상기 편지를 저장, n은 숫자가? 
"레지스터를 제거 :? P? 내용과는 커서 위치에 놓는다. 여기에? 이 숫자가 될 수있다, 편지 될 수있다 
NDD : 현재 라인과 텍스트의 공동-N의 다음 줄을 삭제하고, 삭제 된 등록 번호 1로 내용을 삭제합니다.

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

첫째, 텍스트를 삽입 
┌──┬───────── ───┐ 
│ │ │ 명령을 설명 
├──┼────────────┤ 
│i │ │ 현재 문자 앞에 텍스트를 삽입 
├──┼────────────┤ 
나는 텍스트 │를 삽입 라인의 시작 │ | 
├──┼────────── ──┤ 
│a │ │ 현재 문자 다음에 텍스트를 추가 
├──┼────────────┤ 
│ │ 텍스트를 추가하는 라인의 │A 끝 
├──┼──────── ────┤ 
│o │ │ 전류 선 후 빈 광고 삽입 
├──┼────────────┤ 
│O을 │ 현재 행의 빈 │ 라인 앞에 삽입 
├──┼── ──────────┤ 
│R 방식 │ │에 다시 입력 텍스트 
└──┴────────────┘ 
이, 커서를 이동 
┌─────┬── ─────────┐ 
│ │ 명령 바와 │ 
├─────┼───────────┤ 
│j 또는 아래쪽 화살표가 한 행 아래로 이동 │ │ 
├──── ─┼───────────┤ 
│k │ 상향 화살표 또는 광고 │ 이동 
├─────┼─────────── 
│h 또는 왼쪽 화살표 │ │ 한 문자 왼쪽 
├─────┼───────────┤ 
│l 우 방향키를 오른쪽으로 한 문자 │ │ 
├─────┼── ─────────┤ 
│w │ 오른쪽 단어 │ 
├─────┼───────────┤ 
│W │ 올바른 공간 분리 된 단어 │ 
├─────┼──── ───────┤ 
│b │ │은 단어 좌 
├─────┼───────────┤ 
│B │은 공간 분리 단어 좌 │ 
├── ───┼───────────┤ 
│0 첫번째 라인 │ │ 이동 
│Ctrl 페이지 앞으로 F │ │ 
├─────┼───────── ──┤ 
│Ctrl 페이지 후방 B │ │ 
├─────┼───────────┤ 
│nG n 번째 행 │ │ 
├─────┼─── ────────┤ 
마지막 줄에 │G은 │ │ 
└─────┴───────────┘ 
, 텍스트를 세 번째 교체 
┌─────┬──── ──┐ 
│ │ 명령 │ 설명 
├─────┼──────┤ 
│ $ 줄의 끝 │ │ 
├─────┼──────┤ 
문장으로 시작 │ (│ │ 
────┼──────┤ 
│) │의 끝 │ 문장 
├─────┼──────┤ 
{│ │ 단락 시작 │ 
├─────┼──────┤ 
│ │} │ 단락의 끝에 
└─────┴──────┘ 

네, 텍스트를 삭제 
┌─ ──┬───────────┐ 
│ │ 명령 설명 │ 
├───┼───────────┤ 
│r 문자를 대체 │ │ 
├───┼─ ──────────┤ 
│c │ 당신의 Esc 건강 │ 누를 때까지 텍스트를 수정 
├───┼───────────┤ 
에서 │cw │ 수정 워드 │을 
├── ─┼───────────┤ 
│cnw │ │ 다음 n 개의 단어를 수정 
└───┴───────────┘ 
다섯 텍스트 편집기를 
┌──┬ ──────────────────────┐ 
│ │ 삶 사원 │ 설명 
├──┼───────────────── ─────┤ 
텍스트의 │yy의 │ 라인은 기본 버퍼 │로 이동합니다 
├──┼──────────────────────┤ 
│yn │ 의지 기본 단어를 버퍼로 이동하는 것은 │ 
├──┼──────────────────────┤ 
│ynw │ N 단어는 기본 뒤로 이동합니다 버퍼 │ 
├──┼──────────────────────┤ 
│p │ 현재 │이 경우 기본 버퍼, 한 줄의 텍스트가 포함 된 경우 
행 뒤에 삽입 │ │ 음향 아니라 기본 빈 라인 버퍼 │ 
│ │이 컨테이너 행에 부착, 기본 버퍼 │ 포함 된 경우 
단어의 │ │ 복수의이 말은 커서의 오른쪽에 붙여 넣습니다. │ 
├──┼──────────────────────┤ 
│P │ 기본 버퍼 │ 텍스트의 라인, 양의 전류를 포함하는 경우 
│ │ 행 앞에 삽입 빈 라인 내부 웰 기본 버퍼 │ 
│ │ 컨테이너 행에 연결된 상기 기본 버퍼 │ 포함한다면 
워드 │ │ 복수,이 단어는 커서의 좌측에 접착되어    

  │ 
└──┴─ ─────────────────────┘ 
여섯, 저장하고 종료 
┌───────────┬─────────── ────┐ 
│ │ 명령 설명 │ 
├───────────┼───────────────┤ 
│zz 저장하고 종료 │ │ 
하고 ───┤ ────────┼───────────────┤ 
│ : 파일 이름이 파일을 쓰기 승 │ │ 
├───────────┼─── ────────────┤ 
│ : W │ │ 쓰기 파일 
├───────────┼───────────────┤ 
│ : │는 X 절약 (수정 한 경우 현재 파일)을 종료 │ 
├───── ──────┼───────────────┤ 
│ :! Q │ 파일, 종료 │ 저장하지 
├───────────┼── ─────────────┤ 
│ Q : │ │ 종료 VI 

VI 일반적인 기술의

VI 명령은 명령라고 할 수 유닉스 / 리눅스 세계에서 가장 일반적으로 파일을 편집하는 데 사용하지만, 때문에 수많은 명령 세트의 많은 사람들이 사실, 당신 만의 장점을 발견 할 것이다, 기본 명령어를 알아야하고 유연하게 적용 할 필요가 점차적으로이 방법을 사용하는 것을 선호합니다, 그것을 사용에 익숙하지 않습니다. 이 문서에서는 가장 일반적으로 사용되는 명령과 고급 응용 기술의 일부 VI를 소개하는 것을 목표로하고있다. 

I. 기본 명령 

---- 1 커서 명령 

K, J, H, L이 -의 상하 좌우의 커서 이동을 명령한다. 리눅스에서 키보드의 오른쪽에있는 네 개의 커서 키를 사용하지만, 염두에 두어야 할 수 있지만 네 개의 명령은 매우 유용하다. 이들 네 개의 키는 키보드의 기본 위치에 자신의 오른손을 배치합니다. 
명령을 뛰어 nG--. 커서가 명령 즉시 지정된 행으로 이동하도록 n은 행의 수입니다. 
Ctrl 키 + 숫자 행 커서의 위치와 열 수는 보고서를 아이플. 
b-- 커서 승 앞으로 또는 뒤로 한 단어를 건너 뜁니다. 
---- 2 편집 명령 
커서가 후방에 위치하며 문자 명령을 삽입하기 전에 나는 A, r--로는 (i = 삽입, A =는 추가  , 대체, R).
CW, dw-- 변경 (대체) / 상기 커서 (C = 변화, d는 = 삭제 명령 워드를 제거  ).
X, D의 $는 문자를 삭제 dd--, 커서는 모든 제품 라인 끝을 제거하고 전체 명령 줄을 삭제할 수 있습니다. 
---- 3 명령 찾기 
,? ---- / 문자열을 다시 String-- 또는 앞으로 커서 아래에서 해당 명령 문자열을 찾을 수 있습니다. 
---- 4 복사 복사 명령 
---- 전년 동기 대비, p-- 라인은 클립 보드에 복사하거나 클립 보드 명령의 내용을 제거합니다. 

둘째, FAQ 및 응용 기술 

---- 1 새 파일 / etc / passwd에의 내용을 읽는에서 사용자 이름 부분을 제거한다. 
VI 파일 ---- 
---- : etc / passwd에 커서 레딩 열린 파일에서 / R & LT / etc / passwd 파일 
% G S /:.*// 삭제 / etc / passwd에 ---- 후자로부터 사용자 이름까지 결장의 모든 부분은 라인의 종료를 시작한다. 
"3R / etc / passwd에"---- 당신은 또한 예를 들어, 명령을 사용하여 지정된 행 번호 뒤에 파일의 내용을 읽을 수있는 읽기 시작하는 새로운 라인 3에서 파일을 / 등 모든 컨텐츠 / passwd 파일입니다. 
---- 우리는 또한 빈 줄 다음과 같은 방법을 사용하여 #로 시작하는 주석 라인에있는 모든 파일을 삭제할 수 있습니다. 
#Cat squid.conf.default ---- | 그렙 -v ^ $ | 그렙 -v ^ # 

---- 2. 사용자가 저장할 수 없습니다 쓰기 권한이없는 파일에 로그인 한 후 편집 할 파일을 열고, 당신은 임시 파일에 수정 할 필요가있다. 
VI ---- 파일 
W / TMP / 모든 변경 사항을 저장 한 임시 파일의 일부를 저장하도록 수정 될 수있는, 예를 들면, 20 내지 59 행의 내용을 저장 : ----. 파일 / tmp를 / 1, 우리는 다음과 같은 명령을 입력 할 수 있습니다. 
VI는 파일 ---- 
---- : 20,59w / tmp를 / 1 

---- 3. 파일을 편집 할 수 있지만 큰 세그먼트의 내용을 삭제해야하는 VI를 사용합니다. 
---- 먼저, 파일을 열도록 편집 명령 "VI 파일"을 사용하고 다음 줄 번호를 표시 문서의 끝 부분에있는 디스플레이 행 번호의 끝에서 Ctrl + G를 눌러에서 Ctrl + G에서 삭제 될 행으로 커서를 이동합니다. 
---- : 2 호선 가정이 삭제의 전체 함량 중 23 1045를 얻을, 또한 시작과 끝 선으로 표시되어 삭제 될 엄마, 메가 명령 할 수 있으며, 다음 사용 23,1045d "A, BD"명령은 삭제합니다. 

---- 4 선 몇 줄의 플러스 일부 문자열의 전체 파일 또는 시작 또는 끝 부분의 각 라인에서. 
바이 파일 ---- 
---- : 3, 마지막 줄에 첫 번째 줄에있는 파일의 $ S / ^ / 일부 문자열 / 첫 삽입 "일부 문자열"라인. 
---- : % S / $ / 일부 문자열 / g는 전체 파일 각 라인에서 라인의 "일부 문자열"끝을 추가합니다. 
---- % S / 문자열 1 / 문자열 2 / g 이 문서에서 "문자열 2"에 "문자열 1"을 대체. 
---- : 3 호선 3,7s / 문자열 1 / 문자열 2 / "문자열 2"에 "문자열 1"7 라인 만 파일을 대체합니다. 
---- 참고 : S는 대체이고, %는 모든 행 g 글로벌 나타내고 있음을 의미한다. 

---- 5 2 개 편집 파일, 텍스트 파일의 복사 및 다른 파일에 붙여 넣습니다. 
VI FILE1 파일 2 ---- 
---- YY 파일 복사 커서 1 행 
---- : N 2 (N = 옆) 파일로 전환 
라인 ---- 커서 위치 P 2 파일 복사 붙여 
N 다시 전환 문헌 1 ---- 

---- 6 경로 파일을 대체하십시오. 
---- 명령을 사용합니다 : "% S #는 / usr / 빈 # / 빈 # g를" / 빈으로 경로는 / usr / bin에 모든 파일을 넣을 수 있습니다. "%의 // USR / 빈 명령 사용 // 빈 / g는" 달성하기 위해, "문자 /"문자 구분 기호, 의미가 없다 "후속가 있음을 나타냅니다 이스케이프 문자입니다."

촬영 http://www.cnblogs.com/88999660/articles/1581524.html

HTTPS : //www.cnblogs.com/miaokm/p/3897788.html 재현

추천

출처blog.csdn.net/weixin_34252090/article/details/94145185