zoukankan      html  css  js  c++  java
  • linux程序员必备的vi操作

    一、关于vi

    ​ vi是最强大的文本编辑器,没有之一,vi作为上古神器,历史悠久,现在还应用如此的广泛,正印证了存在即合理的道理,只要你经常接触linux,必然少不了接触vi。

    ​ vi的初次使用可能体验感很不好,就和上古神器一样,强大的武器和工具都是难以驾驭的。当你vi操作熟练后,你会觉得真香,并且你的90%操作都可以摆脱鼠标

    二、创建/打开文件

    vi 文件名

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

    示例:

    vi helloword.c

    三、vi的三种模式

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

    四、vi的常用命令

    模式切换命令

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

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

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

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

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

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

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

    保存于退出操作命令

    :w回车 存盘。

    :w!回车 强制存盘。

    :wq回车 存盘退出。

    :x回车 存盘退出。

    :q回车 不存盘退出。

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

    方向操作命令

    k 类似方向键上

    j 类似方向键下

    h 类似方向键左

    l 类是方向键右

    Ctrl+u 向上翻半页

    Ctrl+d 向下翻页

    跳转操作命令

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

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

    G 光标跳到文件最后一行

    :n回车 光标跳到第n行

    0 光标跳到当前行的行首

    $ 光标跳到当前行的行尾

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

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

    e 光标跳到本单词的尾部

    删除操作

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

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

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

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

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

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

    复制粘贴操作命令

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

    yw 复制光标位置到单词的结束到缓冲区

    y$ 复制光标位置到行末到缓冲区

    yG 复制光标所在行到文件末尾到缓冲区

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

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

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

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

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

    替换与查找操作命令

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

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

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

    查找操作:/

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

    n 查找下一个

    N 查找上一下

    单个替换:

    :s/xxx/ccc 把光标所在行第一个xxx字段替换为ccc

    单行替换:

    :s/xxx/ccc/g 把光标所在行所有xxx字段替换为ccc

    全局替换:

    :g/xxx/s//ccc/g回车 把文件中全部的xxx替换成ccc

    Ctrl+r 反撤销命令,可多次反撤销

    u 撤销命令,可多次撤销

    其余常用操作命令

    . 重复执行上一次执行的vi命令(与查找替换命令结合起来非常好用)
    对光标当前所在的位置的字符进行大小写转换

    列操作 :Ctrl+V

    示例:
    Ctrl+V 光标上或下 大写的I 输入需要插入的内容内容 Esc

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

    恢复文件

    vi在编辑某一个文件时,会生成一个临时文件,这个文件以 . 开头并以 .swp结尾。正常退出该文件自动删除,如果意外退出例如忽然断电,该文件不会删除,我们在下次编辑时可以选择一下命令处理:

    O 只读打开,不改变文件内容

    E 继续编辑文件,不恢复.swp文件保存的内容

    R 将恢复上次编辑以后未保存文件内容

    Q 退出vi

    D 删除.swp文件

    或者使用vi -r 文件名来恢复未保存的内容

  • 相关阅读:
    PHP获取一周的日期
    关系型数据库和非关系型数据库的区别和特点
    关系型数据库和非关系型数据库的特性以及各自的优缺点
    什么是数据库?什么是关系数据库?什么是非关系型数据库?
    PHP中把对象转数组的几个方法
    验证银行卡号
    xss过滤方法
    PHP 随机字符
    计算两个日期相差年月日
    判断一个时间段是否包含周末
  • 原文地址:https://www.cnblogs.com/veis/p/13288729.html
Copyright © 2011-2022 走看看