linux下vim编辑器(二) 光标定位

  • A+

vi编辑器是所有Unix及Linux系统下标准的编辑器,对Unix及Linux系统的任何版本,vi编辑器是完全相同的。vim是vi的升级版,增加了一些功能,对vi命令是完全兼容的。在一些基本命令上两者应该是一样的。

一.使用vim编辑器打开文本

  1. 使用vim开打开一个文件,使用如下命令

    [root@iz8vb7sribf5t1bdc956nxz ~]# vim passwd.vi 
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    ......
    "passwd.vi" 24L, 1061C                        3,7     10%

    左下角,24L, 1061C代表本文本工24行,1061字符;右下角,3代表光标所在第三行,第7个字符,在全篇的10%左右位置

  2. vim命令

    vim命令 释义 使用度
    vim filename 打开或新建一个文件,并将光标置于第一行的首部 高频
    vim -r filename 恢复上次 vim 打开时崩溃的文件 低频
    vim -R filename 把指定的文件以只读方式放入 Vim 编辑器中 低频
    vim + filename 打开文件,并将光标置于最后一行的首部 低频
    vim +n filename 打开文件,并将光标置于第 n 行的首部 低频
    vim +/pattern filename 打幵文件,并将光标置于第一个与 pattern 匹配的位置 低频
    vim -c command filename 在对文件进行编辑前,先执行指定的命令 低频

二.光标定位

  1. 上下左右移动光标

    命令 命令功能 使用度
    (n)h 或 (n)← 光标向左移动一位,添加n移动n位,n为数字 高频
    (n)j或 (n)↓ 或 (n) 光标向下移动一行,添加n移动n位,n为数字 高频
    (n)k 或 (n)↑ 光标向上移动一行,添加n移动n位,n为数字 高频
    (n)l 或 (n)→ 光标向右移动一位,添加n移动n位,n为数字 高频
  2. 光标在行内定位

    命令 命令功能 使用度
    0 或 ^ 光标移动至当前行的行首 高频
    $ 光标移动至当前行的行尾 高频
    fx 光标移动至当前行中下一个 x 字符处 中频
    Fx 光标移动至当前行中上一个 x 字符处 中频
    n 在行内光标会向右移动 n 个字符 中频
  3. 光标在行间定位

    命令 命令功能 使用度
    [Ctrl] + [f] 屏幕“向下”移动一页,相当于 [Page Down]按键 高频
    [Ctrl] + [b] 屏幕“向上”移动一页,相当于 [Page Up] 按键 高频
    [Ctrl] + [d] 屏幕“向下”移动半页 中频
    [Ctrl] + [u] 屏幕“向上”移动半页 中频
    + 光标移动到非空白字符的下一列 中频
    - 光标移动到非空白字符的上一列 中频
    H 光标移动到这个屏幕的最上方那一列的第一个字符 中频
    M 光标移动到这个屏幕的中央那一列的第一个字符 中频
    L 光标移动到这个屏幕的最下方那一列的第一个字符 中频
    G 光标移动至文件末尾 高频
    nG 光标移动到第 n 行,n 为数字 中频
    gg 光标移动到文件开头 高频
    n 光标向下移动 n 列 高频
    :n 光标定位到n行 高频
  4. 光标在字符间定位

    命令 命令功能 使用度
    (n)w 或 (n)W 光标移动至下一个单词的单词首(n为数字,代表移动n个单词) 中频
    (n)b 或 (n)B 光标移动至上一个单词的单词首(n为数字,代表移动n个单词) 中频
    (n)e 或 (n)E 光标移动至下一个单词的单词尾(n为数字,代表移动n个单词) 中频
  5. 光标定位括号
    在一般模式下使用%快速定位一对括号,包括(){}[]
    比如,在 /etc/init.d/sshd 脚本文件中,想迅速地将光标定位到与第 49 行的 "{" 相对应的 "}" 处,则可以将光标先定位在 "{" 处,然后再使用 "%" 命令,此时在 "}" 处也会反白。

    三.添加行号

  6. 在上述一般指令模式下,可以做很多行内操作,但是无法定位行号,所以我们在命令行模式下,配置编辑器显示行号,在一般模式下,若是编辑模式按回退到一般模式下,按:进入命令行模式,输入set number:

    dbus:x:81:81:System message bus:/:/sbin/nologin
    polkitd:x:999:997:User for polkitd:/:/sbin/nologin
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    
    :set number

    效果如下,此时我们可以方便的查看行号

    1 root:x:0:0:root:/root:/bin/bash
    2 bin:x:1:1:bin:/bin:/sbin/nologin
    3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
    4 adm:x:3:4:adm:/var/adm:/sbin/nologin
    5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    6 sync:x:5:0:sync:/sbin:/bin/sync
    7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    8 halt:x:7:0:halt:/sbin:/sbin/halt
zhangfeng

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: