>  기사  >  운영 및 유지보수  >  Linux vi 명령에 대한 자세한 설명

Linux vi 명령에 대한 자세한 설명

angryTom
angryTom원래의
2019-10-28 14:27:4618825검색

Linux vi 명령에 대한 자세한 설명

Linux vi 명령 자세한 설명

권장: [Linux 비디오 튜토리얼]

vi 편집기는 모든 Unix 및 Linux 시스템의 표준 편집기이며 그 성능은 최신 텍스트 편집기보다 열등하지 않습니다. 사용법과 몇 가지 지침을 소개합니다.

vi 편집기는 Unix 및 Linux 시스템의 모든 버전에서 정확히 동일하므로 vi가 도입되는 곳마다 이에 대해 자세히 알아볼 수 있습니다. Vi는 Linux에서 가장 기본적인 텍스트 편집기이기도 합니다. Vi를 배우고 나면 Linux 세계에서 아무런 문제가 없을 것입니다.

Linux vi 명령에 대한 자세한 설명

1 vi의 기본 개념

기본적으로 vi는 명령 모드(명령 모드), 삽입 모드(삽입 모드), 최하위 라인 모드의 세 가지 상태로 나눌 수 있습니다. 마지막 줄 모드), 각 모드의 기능은 다음과 같이 구분됩니다.

1) 명령줄 모드)

화면 커서의 이동 제어, 문자, 단어 또는 줄 삭제, 섹션 이동 및 복사 및 삽입 모드 진입, 아니면 마지막 줄 모드로 이동하세요.

2) 삽입 모드

삽입 모드에서만 텍스트 입력이 가능합니다. "ESC" 키를 누르면 명령줄 모드로 돌아갑니다.

3) 마지막 줄 모드

파일을 저장하거나 vi를 종료하면 문자열 검색, 줄 번호 나열 등 편집 환경을 설정할 수도 있습니다.

그러나 일반적으로 vi를 사용할 때 vi를 두 가지 모드로 단순화합니다. 즉, 마지막 줄 모드(last line mode)도 명령줄 모드(command mode)에 포함됩니다.

2. vi의 기본 조작

a) vi 입력

시스템 프롬프트에 vi와 파일 이름을 입력한 후 vi 전체 화면 편집 화면으로 들어갑니다:

$ vi myfile

하지만 지불해야 할 것이 하나 있습니다. vi 이후에는 "명령 모드"에 있으므로 텍스트를 입력하려면 "삽입 모드"로 전환해야 합니다. vi를 처음 사용하는 사람들은 커서를 먼저 움직이기 위해 위쪽, 아래쪽, 왼쪽, 오른쪽 키를 사용하려고 할 것입니다. 그러면 컴퓨터에서 계속 신호음이 울리기 때문에 vi를 입력한 후에는 움직이지 마십시오. 주위에 "삽입 모드"로 전환합니다!

b) 파일을 편집하려면 삽입 모드로 전환하세요.

"명령 모드"에서 "i" 문자를 클릭하여 "삽입 모드"로 들어가세요. 이때 텍스트 입력을 시작할 수 있습니다.

c) 삽입 전환

현재 "삽입 모드"에 있으므로 잘못된 단어를 입력한 경우에만 텍스트를 계속 입력할 수 있습니다! 커서 키를 이용하여 뒤로 이동하여 단어를 삭제하려면 먼저 "ESC" 키를 눌러 "명령 모드(command mode)"로 이동한 후 단어를 삭제해야 합니다.

d) vi를 종료하고 파일을 저장합니다.

"명령 모드(명령 모드)"에서 ":" 콜론 키를 클릭하여 "마지막 줄 모드"로 들어갑니다. 예:

: w filename #(输入 「w filename」将文章以指定的文件名filename保存)
: wq #(输入「wq」,存盘并退出vi)
: q! #(输入q!, 不存盘强制退出vi)

3. 명령 모드) 기능 키

1) 삽입 모드에서

"i"를 눌러 "삽입 모드"로 전환하고, "i"를 눌러 삽입 모드로 들어가 현재 위치부터 파일 입력을 시작합니다. 커서;

" a"를 누르세요. 삽입 모드에 진입한 후 현재 커서 위치 옆의 위치부터 텍스트 입력을 시작합니다.

"o"를 눌러 삽입 모드에 들어간 후 새 줄을 삽입합니다. 줄의 처음부터 텍스트 입력을 시작합니다.

2) 삽입 모드에서 명령줄 모드로 전환합니다.

"ESC" 키를 누릅니다.

3) 커서를 이동하려면

vi는 키보드의 커서를 직접 사용하여 상하좌우로 이동할 수 있지만 일반 vi는 영문 소문자 "h", "j", "k"를 사용합니다. 및 "l"은 각각 왼쪽, 아래, 위, 오른쪽으로 한 칸 이동합니다.

  按「ctrl」+「b」:屏幕往"后"移动一页。
  按「ctrl」+「f」:屏幕往"前"移动一页。
  按「ctrl」+「u」:屏幕往"后"移动半页。
  按「ctrl」+「d」:屏幕往"前"移动半页。
  按数字「0」:移到文章的开头。
  按「G」:移动到文章的最后。
  按「$」:移动到光标所在行的"行尾"。
  按「^」:移动到光标所在行的"行首"
  按「w」:光标跳到下个字的开头
  按「e」:光标跳到下个字的字尾
  按「b」:光标回到上个字的开头
  按「#l」:光标移到该行的第#个位置,如:5l,56l。

4). 텍스트 삭제

  「x」:每按一次,删除光标所在位置的"后面"一个字符。
  「#x」:例如,「6x」表示删除光标所在位置的"后面"6个字符。
  「X」:大写的X,每按一次,删除光标所在位置的"前面"一个字符。
  「#X」:例如,「20X」表示删除光标所在位置的"前面"20个字符。
  「dd」:删除光标所在行。
  「#dd」:从光标所在行开始删除#行

6). 마지막 작업 복원

 「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
  「#yw」:复制#个字到缓冲区
  「yy」:复制光标所在行到缓冲区。
  「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。
  「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。

9). OK

  「r」:替换光标所在处的字符。
  「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

4. 마지막 줄 모드의 명령 소개

"마지막 줄 모드"를 사용하기 전에 "

ESC

" 키를 눌러 이미 "명령 모드"에 있는지 확인한 다음 "

:" 콜론을 눌러 "마지막 줄 모드"로 들어갑니다.

A) 줄 번호 나열

「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次"u"可以执行多次回复。
B) 파일의 특정 줄로 이동
   「cw」:更改光标所在处的字到字尾处
  「c#w」:例如,「c3w」表示更改3个字
C) 문자 찾기
  「ctrl」+「g」列出光标所在行的行号。
  「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

D) 파일 저장

「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。

E) vi

「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。

5. 목록

1 다음 표에는 명령 모드의 일부 키 기능이 나열되어 있습니다.

h  左移光标一个字符
l  右移光标一个字符
k  光标上移一行
j  光标下移一行
^  光标移动至行首
0  数字"0",光标移至文章的开头
G  光标移至文章的最后
$ 光标移动至行尾
Ctrl+f 向前翻屏
Ctrl+b 向后翻屏
Ctrl+d 向前翻半屏
Ctrl+u 向后翻半屏
i 在光标位置前插入字符
a 在光标所在位置的后一个字符开始增加
o 插入新的一行,从行首开始输入
ESC 从输入状态退至命令状态
x 删除光标后面的字符
#x 删除光标后的#个字符
X (大写X),删除光标前面的字符
#X 删除光标前面的#个字符
dd 删除光标所在的行
#dd 删除从光标所在行数的#行
yw 复制光标所在位置的一个字
#yw 复制光标所在位置的#个字
yy 复制光标所在位置的一行
#yy 复制从光标所在行数的#行
p 粘贴
u 取消操作
cw 更改光标所在位置的一个字
#cw 更改光标所在位置的#个字

2、下表列出行命令模式下的一些指令 

w filename 储存正在编辑的文件为filename
wq filename 储存正在编辑的文件为filename,并退出vi
q! 放弃所有修改,退出vi
set nu 显示行号
/或? 查找,在/后输入要查找的内容
n 与/或?一起使用,如果查找的内容不是想要找的关键字,按n或向后(与/联用)或向前(与?联用)继续查找,直到找到为止。

对于第一次用vi,有几点注意要提醒一下: 

1、 用vi打开文件后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。切换方法:在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。 

2、编辑好后,需从插入模式切换为命令行模式才能对文件进行保存,切换方法:按「ESC」键。 

3、保存并退出文件:在命令模式下输入:wq即可!(别忘了wq前面的:)

위 내용은 Linux vi 명령에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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