• vi/vim使用指北 ---- Introducting the ex Editor


    本章介绍ex编辑器,为什么要介绍这样一个新的编辑器呢:其实ex编辑器不能算是一个新的编辑器,vi只是它的visual model,它已经是一个更普遍,基于行的编辑器。ex提供更大机动和范围的编辑命令。使用ex,有很多方式更简单的切换文件和转移文件内容,更快的编辑比一个屏幕更大的文本块。

    打开文件

    ex file  ---- 使用ex打开一个文件,不会显示文件内容。显示一行文件状态,一行命令标志

    显示文件内容

    [number]-[p]  ----  现实第几行的内容,p可以省略

    [number]-,-[number]  ----  显示第几行到第几行的内容

    替换

    s/[fromCharacter]/[toChracter]  ---  从当前行替换

    切换到vi模式

    vi  ----切换到vi模式

    在vi模式下移动光标

    [number] ---- 移动光标到第几行

    编辑命令

    [number],[number]d ---- 删除从第几行到第几行的内容

    [number],[number]m[number] ---- 把第几行到第几行的内容移动到第几行下面

    [number],[number]co/t[number] ---- [co或者t]把第几行到第几行的内容复制到第几行下面

    set nu[mber]  ----- 显示行号

    set nonu[mber]  ---- 不显示行号

    [number],[number]#   ----  临时现实第几行到第几行的行号

    ---- 显示总的行数

    .= ---- 显示当前行号

    /pattern/= ---- 显示以一个匹配项所在的行号

    .  ---- 表示当前行行号

    $ ---- 表示最后一行行号,例如20,.m$表示把第20行到当前行的内容移动到文件的末尾

    % ---- 表示所有行,例如%d表示删除所有行

    +[number]  ---- 表示向下多少行,number没有表示+1,例如.,.+20d表示删除从当前向下的20行的内容

    -[number]  ---- 表示向上多少行,number没有表示-1,例如226,$m.-2表示把第226行到最后一行的内容移动到当前行的前2行下面

    0 --- 表示文件开始

    [number1];+[number2] p ---- 显示number1行后的number2行

    /pattern/;+[number] p ---- 显示第一个匹配行后[number]行

    查找

    /pattern/d  ----  删除下一个匹配所在行

    /pattern/+d ---- 删除下一个匹配的下一行

    /pattern1/,/pattern2/d ----  删除第一个匹配pattern1的行到第一个匹配pattern2的行的内容

    .,/pattern/m/[number] ----- 把当前行到第一个匹配patten的行的内容移动到给定行后面

    g/pattern/p ---  查找并显示所有包含pattern的行

    !g/pattern/p --- 查找并显示所有不包含pattern的行

    [number1],[number2]g/pattern/p  ---- 从第number1到第number2行中查找并显示包含pattern的行

    命令连接

    [command1] | [command2] ---- 连接两个命令,例如1,3d | s/thier/their表示删除1-3行,并在当前行替换

    保存

    [number1],[number2]w newfile  ---- 把第number1到第number2行的内容保存新的文件

    [number1],[number2]w >> newfile ----  把第number1到第number2行的内容添加newfile文件的末尾

    文件间的拷贝

    [number]/[0]/[$][/pattern/]r filename  ---- 把文件filename的内容复制到当前光标/文件开始/文件结尾/第一个包含pattern的行的后面

  • 相关阅读:
    SCRAM
    package-info.java https://www.intertech.com/Blog/whats-package-info-java-for/
    mybatis-3 cache 源码赏析
    Cache replacement policies 缓存实现算法
    MyBatis 强大之处 多环境 多数据源 ResultMap 的设计思想是 缓存算法 跨数据库 spring boot rest api mybaits limit 传参
    Taking a peek inside with the Actuator
    表优化 altering table OPTIMIZE TABLE `sta_addr_copy`
    Why is long2ip conversion important?
    遇到的1/3,在十进位制中是一个无限小数,但在这种进位制中就是一个有限小数。
    并发编程:Actors 模型和 CSP 模型
  • 原文地址:https://www.cnblogs.com/hanwwly/p/3974075.html
Copyright © 2020-2023  润新知