Linux系统vi模式下按键说明

这篇博客详细介绍了在Linux系统中使用vi编辑器时的一般指令模式下的按键操作,包括光标移动、搜寻取代、删除、复制与粘贴等。用户可以通过hjkl键、Ctrl+f/b/d/u快捷键进行光标移动,使用/word和?word进行搜寻,利用dd和yy进行删除与复制,以及p和P进行粘贴操作。此外,还讲解了如何进入编辑模式和命令行模式以及如何保存和退出文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一部份:一般指令模式可用的按钮说明,光标移动、复制贴上、搜寻取代等

移动光标的方法

h 或 向左方向键(←) 光标向左移动一个字符

j 或 向下方向键(↓) 光标向下移动一个字符

k 或 向上方向键(↑) 光标向上移动一个字符

l 或 向右方向键(→) 光标向右移动一个字符

如果你将右手放在键盘上的话,你会发

现 hjkl 是排列在一起的,因此可以使用

这四个按钮来移动光标。 如果想要进行

多次移动的话,例如向下移动 30 列,

可以使用 "30j" 或 "30↓" 的组合按键,

亦即加上想要进行的次数(数字)后,

按下动作即可!

[Ctrl] + [f] 屏幕"向下"移动一页,相当于 [Page Down]按

键 (常用)

[Ctrl] + [b] 屏幕"向上"移动一页,相当于 [Page Up] 按键

(常用)

[Ctrl] + [d] 屏幕"向下"移动半页

[Ctrl] + [u] 屏幕"向上"移动半页

+ 光标移动到非空白字符的下一列

- 光标移动到非空白字符的上一列

n<space>

那个 n 表示"数字",例如 20 。按下数字后再

按空白键,光标会向右移动这一列的 n 个字

符。例如 20<space> 则光标会向后面移动 20

个字符距离。

0 或功能键[Home] 这是数字" 0 ":移动到这一列的最前面字符处

(常用)

$ 或功能键[End] 移动到这一列的最后面字符处(常用)

H 光标移动到这个屏幕的最上方那一列的第一

个字符

M 光标移动到这个屏幕的中央那一列的第一个

字符

L 光标移动到这个屏幕的最下方那一列的第一

个字符

G 移动到这个文件的最后一列(常用)

nG

n 为数字。移动到这个文件的第 n 列。例如

20G 则会移动到这个文件的第 20 列(可配合

:set nu)

gg 移动到这个文件的第一列,相当于 1G 啊!

(常用)

n<Enter> n 为数字。光标向下移动 n 列(常用)

搜寻与取代

/word

向光标之下寻找一个名称为 word 的字串。例

如要在文件内搜寻 vbird 这个字串,就输入

/vbird 即可! (常用)

?word 向光标之上寻找一个字串名称为 word 的字

串。

n

这个 n 是英文按键。代表"<u>重复前一个搜

寻的动作</u>"。举例来说, 如果刚刚我们执

行 /vbird 去向下搜寻 vbird 这个字串,则按下

n 后,会向下继续搜寻下一个名称为 vbird 的

字串。如果是执行 ?vbird 的话,那么按下 n

则会向上继续搜寻名称为 vbird 的字串!

N

这个 N 是英文按键。与 n 刚好相反,为"反

向"进行前一个搜寻动作。 例如 /vbird 后,按

下 N 则表示"向上"搜寻 vbird 。

使用 /word 配合 n 及 N 是非常有帮助

的!可以让你重复的找到一些你搜寻的

关键字!

:n1,n2s/word1/word2/g

n1 与 n2 为数字。在第 n1 与 n2 列之间寻找

word1 这个字串,并将该字串取代为 word2

!举例来说,在 100 到 200 列之间搜寻 vbird

并取代为 VBIRD

则:":100,200s/vbird/VBIRD/g"。(常用)

:1,$s/word1/word2/g 从第一列到最后一列寻找 word1 字串,并将

该字串取代为 word2 !(常用)

:1,$s/word1/word2/gc

从第一列到最后一列寻找 word1 字串,并将

该字串取代为 word2 !且在取代前显示提示

字符给使用者确认 (confirm) 是否需要取

代!(常用)

删除、复制与贴上

x, X

在一列字当中,x 为向后删除一个字符 (相

当于 [del] 按键), X 为向前删除一个字符

(相当于 [backspace] 亦即是倒退键) (常

用)

nx n 为数字,连续向后删除 n 个字符。举例来

说,我要连续删除 10 个字符, "10x"。

dd 删除光标所在的那一整列(常用)

ndd n 为数字。删除光标所在的向下 n 列,例如

20dd 则是删除 20 列 (常用)

d1G 删除光标所在到第一列的所有数据

dG 删除光标所在到最后一列的所有数据

d$ 删除光标所在处,到该列的最后一个字符

d0 那个是数字的 0 ,删除光标所在处,到该列

的最前面一个字符

yy 复制光标所在的那一列(常用)

nyy n 为数字。复制光标所在的向下 n 列,例如

20yy 则是复制 20 列(常用)

y1G 复制光标所在列到第一列的所有数据

yG 复制光标所在列到最后一列的所有数据

y0 复制光标所在的那个字符到该列行首的所有

数据

y$ 复制光标所在的那个字符到该列行尾的所有

数据

p, P

p 为将已复制的数据在光标下一列贴上,P 则

为贴在光标上一列! 举例来说,我目前光标

在第 20 列,且已经复制了 10 列数据。则按

下 p 后, 那 10 列数据会贴在原本的 20 列之

后,亦即由 21 列开始贴。但如果是按下 P

呢? 那么原本的第 20 列会被推到变成 30

列。 (常用)

J 将光标所在列与下一列的数据结合成同一列

c 重复删除多个数据,例如向下删除 10 列,[

10cj ]

u 复原前一个动作。(常用)

[Ctrl]+r 重做上一个动作。(常用)

这个 u 与 [Ctrl]+r 是很常用的指令!一

个是复原,另一个则是重做一次~ 利用

这两个功能按键,你的编辑,嘿嘿!很

快乐的啦!

.

不要怀疑!这就是小数点!意思是重复前一

个动作的意思。 如果你想要重复删除、重复

贴上等等动作,按下小数点"."就好了! (常

用)

 

第二部份:一般指令模式切换到编辑模式的可用的按钮说明

进入插入或取代的编辑模式

i, I

进入插入模式(Insert mode):i

为"从目前光标所在处插入", I

为"在目前所在列的第一个非空白

字符处开始插入"。 (常用)

a, A

进入插入模式(Insert mode):a

为"从目前光标所在的下一个字符

处开始插入", A 为"从光标所在列

的最后一个字符处开始插入"。

(常用)

o, O

进入插入模式(Insert mode):

这是英文字母 o 的大小写。o

为"在目前光标所在的下一列处插

入新的一列"; O 为在目前光标所

在处的上一列插入新的一列!(常

用)

r, R

进入取代模式(Replace

mode):r 只会取代光标所在的

那一个字符一次;R会一直取代光

标所在的文字,直到按下 ESC 为

止;(常用)

上面这些按键中,在 vi 画面的左下角处会出现"--

INSERT--"或"--REPLACE--"的字样。 由名称就知道

该动作了吧!!特别注意的是,我们上面也提过

了,你想要在文件里面输入字符时, 一定要在左下

角处看到 INSERT 或 REPLACE 才能输入喔!

[Esc] 退出编辑模式,回到一般指令模式

中(常用)

第三部份:一般指令模式切换到命令行界面的可用按钮说明

鸟哥的 Linux 私房菜:基础学习篇 第四版

9.2 vi 的使用464

命令行界面的储存、离开等

指令

:w 将编辑的数据写入硬盘文件中(常用)

:w! 若文件属性为"只读"时,强制写入该文件。不过,到底能

不能写入, 还是跟你对该文件的文件权限有关啊!

:q 离开 vi (常用)

:q! 若曾修改过文件,又不想储存,使用 ! 为强制离开不储存

盘案。

注意一下啊,那个惊叹号

(!) 在 vi 当中,常常具

有"强制"的意思~

:wq 储存后离开,若为 :wq! 则为强制储存后离开 (常用)

ZZ 这是大写的 Z 喔!若文件没有更动,则不储存离开,若

文件已经被更动过,则储存后离开!

:w [filename] 将编辑的数据储存成另一个文件(类似另存新文件)

:r [filename] 在编辑的数据中,读入另一个文件的数据。亦即将

"filename" 这个文件内容加到光标所在列后面

:n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个文件。

:! command

暂时离开 vi 到命令行界面下执行 command 的显示结

果!例如 ":! ls /home"即可在 vi 当中察看 /home 下面以

ls 输出的文件信息!

vim 环境的变更

:set nu 显示行号,设置之后,会在每一列的字首显示该列的行

:set nonu 与 set nu 相反,为取消行号!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值