Linux下vim的使用

一、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 相反,为取消行号!

二、案例实战:

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

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

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

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

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

  6. 移动到第 58 行;
    58G

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

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

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

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

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

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

三、vim 的额外功能

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

2、区块选择(Visual Block)

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值