• vi常用命令


    一、关于vi

    vi是最强大的文本编辑器,没有之一。尽管 vi已经是古董级的软件,但还是有无数新人迎着困难去学习,可见其经典与受欢迎的程度。

    无论是小说中还是电视剧,真正强大的武器都不容易驾驭,需要付出一些努力才能收获到更加强大的力量,对于vi这上古神器说更是如此。由于它全程使用键盘操作,很多首次接触
    vi的人会觉得不习惯而中途放弃。然而,坚持下来的朋友就会渐渐地发现这种键盘操作的设计绝妙,经典之所以能成为经典,必然有它的道理,不用解释太多。

    观察一个程序员对vi的熟练程度,可以判断它的技术水平,如果他对vi不熟悉,就肯定不是Linux平台下的程序员,说vi不好用的人也肯定不熟悉vi和Linux,没有例外。

    二、创建/打开文件

    vi 文件名
    

    打开一个文件,如果文件不存在,就创建它。

    示例:

    vi book.c
    

    三、vi的三种模式

    vi
    有三种模式,命令行模式、插入模式和替换模式,在命令行模式下,任何键盘输入都是命令,在插入模式和替换模式下,键盘输入的才是字符。

    插入模式和替换模式也合称为编辑模式。

    四、vi的常用命令

    Esc 从编辑模式切换到命令行模式。

    i 在光标所在位置前面开始插入。

    a 在光标所在的位置后面开始插入。

    o 在光标所在位置行的下面插入空白行。

    O 在光标所在位置行的上面插入空白行。

    I 在光标所在位置行的行首开始插入。

    A 在光标所在位置行的行末开始插入。

    k 类似方向键上。

    j 类似方向键下。

    h 类似方向键左。

    l 类是方向键右。

    Ctrl+u 向上翻半页。

    Ctrl+d 向下翻页。

    nG 光标跳到文件的第n行行首。

    G 光标跳到文件最后一行。

    :5回车 光标跳到第5行。

    :n回车 光标跳到第n行。

    0 光标跳到当前行的行首。

    $ 光标跳到当前行的行尾。

    w 光标跳到下个单词的开头。

    b 光标跳到上个单词的开头。

    e 光标跳到本单词的尾部。

    x 每按一次,删除光标所在位置的一个字符。

    nx 如"3x"表示删除光标所在位置开始的3个字符。

    dw 删除光标所在位置到本单词结尾的字符。

    D 删除本行光标所在位置后面全部的内容。

    dd 删除光标所在位置的一行。

    ndd 如"3dd"表示删除光标所在位置开始的3行。

    yy 将光标所在位置的一行复制到缓冲区。

    nyy 将光标所在位置的n行复制到缓冲区。

    p 将缓冲区里的内容粘贴到光标所在位置。

    r 替换光标所在位置的一个字符 replace。

    R 从光标所在位置开始替换,直到按下"Esc"。

    cw 从光标所在位置开始替换单词,直到按下"Esc"。

    u 撤销命令,可多次撤销。

    J 把当前行的下一行接到当前行的尾部。

    Ctrl+g 显示光标所在位置的行号和文件的总行数。

    /abcd 在当前打开的文件中查找“abcd”文本内容。

    n 查找下一个。

    N 查找上一下。

    . 重复执行上一次执行的vi命令。

    ~ 对光标当前所在的位置的字符进行大小写转换。

    列操作

    Ctrl+V 光标上或下 大写的I 输入内容 Esc

    :w回车 存盘。

    :w!回车 强制存盘。

    :wq回车 存盘退出。

    :x回车 存盘退出。

    :q回车 不存盘退出。

    :q!回车 不存盘强制退出。

    :g/aaaaaaaaa/s//bbbbbb/g回车 把文件中全部的aaaaaaaaa替换成bbbbbb。

    Ctl+insert 复制鼠标选中的文本,相当于Ctl+c。

    Shift+insert 输出鼠标选中的文本,相当于Ctl+v。

    以上两个命令在windows和UNIX中是通用的。

    五、版权声明

    C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

    来源:C语言技术网(www.freecplus.net

    作者:码农有道

  • 相关阅读:
    python从可迭代对象中取值
    python中可迭代对象和列表
    python中字典生成式
    Redis源码解析之跳跃表(一)
    Redis高可用集群
    Redis主从&哨兵集群搭建
    Java并发之ThreadPoolExecutor源码解析(三)
    Java并发之ThreadPoolExecutor源码解析(二)
    Java并发之ThreadPoolExecutor源码解析(一)
    并发编程之JMM&Volatile(三)
  • 原文地址:https://www.cnblogs.com/wucongzhou/p/12579513.html
Copyright © 2020-2023  润新知