Linux下vim的使用

mac2025-12-11  2

一、vim的三种模式:

基本上 vi 共分为三种模式,分别是『一般模式』、『编辑模式』、『指令列命令模式』。 这三种模式的作用分别是:

一般模式: 以 vi 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、粘贴』来处理你的文件数据。

按键说明:

输入nj会向下移动n行

crtl+f屏幕会向下移动一页,crtl+b屏幕会向上移动一页

n+空格键会向右移动n个字符

0或者Home会移动这一行第一个字符位置,$或End会移动到行的最末尾

G移动到这个档案的最后的一行,nG为定位到第n行,gg定位到档案的第一行

n+Enter键会向下移动n行

/word向光标下查找名称为word的字符串,?word 向光标上查找名称为 word 的字符串

:n1,n2s/word1/word2/g n1 与 n2 为数字。在第 n1 与 n2 行间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100 到 200 行间搜寻 nevada 并取代为 NEVADA 则: 『:100,200s/ nevada / NEVADA /g』。(常用) x删除字符,nx删除n个字符,dd删除游标所在的那一整列 yy复制游标所在的那一列

nyy: n 为数字。复制光标所在的向下 n 列,例如 20yy 则是复制 20 列(常用)

u是复原前一个动作,比如你不小心进行了某个动作,想反悔

[Ctrl]+r 重做上一个动作。

. 意思是重复前一个动作的意思。 如果你想要重复删除、重复贴上等等动作,按下小数点『.』。

编辑模式 在一般模式中可以进行删除、复制、粘贴等等的动作,但是却无法编辑文件内容! 要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母后才会进入编辑模式。注意了!通常在 Linux 中,按下这些按键时,在画面左下方会出现『 INSERT 或 REPLACE 』的字样,此时才可以编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。

指令列命令模式: 在一般模式当中,输入『 : / ? 』三个中的任何一个按钮,就可以将光标移到最底下那一行。在这个模式当中, 可以提供你『搜寻资料』,而读取、存盘、大量取代字符、离开 vi 、显示行号等等则是在此模式中!

:w 将编辑的档案重新写入到硬盘档案中:w! 若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案档案权限有关啊!:q 离开档案:q! 不保存强制离开:wq 存储后离开ZZ 这是大写的 Z 喔!若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开!:n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个档案。:! Command 暂时离开 vi 到指令列模式下执行 command 的显示结果!例如 『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息!:set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号:set nonu 与set nu 相反,为取消行号!

二、案例实战:

请在 /tmp 这个目录下建立一个名为 vitest 的目录; mkdir /temp/vitest

进入 vitest 这个目录当中; cd /temp/vitest

将 /etc/man.config 复制到本目录底下; cp /etc/man.config /temp

使用 vi 开起本目录下的man.config 这个档案; vim man.config

在 vi 中设定一下行号; :set nu

移动到第 58 行; 58G

移动到第一行,并且向下搜寻一下『 bzip2 』这个字符串; gg /bzip2

接着下来,我要将 50 到 100 行之间的『小写 man 字符串』改为『大写 MAN 字符串』; :50,100s/man/MAN/gc

修改完之后,突然反悔了,要全部复原,有哪些方法? u

我要复制 65 到 73 这九行内容,并且贴到最后一行后 『65G』 然后再『 9yy 』后最后一行会出现『复制九行』。 按下『 G 』到最后一行,再给他『 p 』贴上九行!

21 到 42 行间的开头为 # 符号的批注数据删除; 21G 』→『 22dd 』就能删除 22 行

将这个档案另存成一个 man.test.config 的檔名; 『 :w man.test.config 』

三、vim 的额外功能

1、vim 具有颜色显示的功能,并且还支持许多程序语法 (syntax)

2、区块选择(Visual Block)

使用 vim hosts 来开吪该档案将光标移劢到第一行癿 host 那个 h 上央,然后按下 [ctrl]-v将光标移劢到最底部,此时光标区域会反白按下『 y 』复制最后,将光标移动到第一行的最右边,并且再用编辑模式向右按两个空格键,回到一般模式后, 再按下『 p 』后,,就复制成功了

3、多档案编辑 快速的就将需要的资料复制到正确档案内

最新回复(0)