zoukankan      html  css  js  c++  java
  • 如何优雅的在Linux中使用vi进行文档编辑

    前言:

    Linux下的编辑器最常用的就是vim或者vi文本编辑。vi 和vim 编辑器的区别是vim是vi的改进版本,在vi 编辑器的基础上上扩展了很多实用的功能。 vi/vim文本编辑器是我们在linux系统下工作可以说是必须会使用的一个工具,本文将会给大家详细讲述如何在linux操作系统下使用vi/vim 文本编辑器。

    vi/vim模式介绍:

     末行模式/文件

    命令模式下输入”:”,当你在输入模式下,对文件做了更改,那么需要先退回到命令命令,再进入末行模式,并输入”wq”后,即可保存并退出 vi/vim 文本编辑器。如果想不保存退出 vi/vim 文本编辑器,那么直接输入”q!”即可。

    录入模式/插入

    你想编辑文件,那么就需要输入“i”,让当前模式变为插入模式或者输入模式,这样你就可以编辑这个文本了。

    命令模式/编辑模式

    是vi/vim 编辑器进入后的默认模式,从命令模式可以切换到输入模式和末行模式,如果当你进入另外的两种模式后,可以使用“ESC”键退回到命令模式。

    linux 下 vim/vi 文本编辑器常用命令

    vi、vim的打开创建文件

    vi filename:打开或新建文件,并将光标置于第一行行首的位置
    vi +n filename: 打开文件,并将光标置于第n行的位置
    vi + filename: 打开文件,并将光标置于最后一行的位置
    vi +/pattern filename: 打开文件,并将光标置于第一个与pattern匹配的行首
    vi -r filename: 在上次征用vim 文本编辑器的时候发生系统奔溃后,恢复filename 文件
    vi filename1…filenamen: linux vi/vim 文本编辑器可以通过打开多个文件,依次进行编辑

    vi、vim的录入模式

    i: 在光标前
    I:在当前行行首
    a: 在光标后
    A: 在当前行尾
    o: 在当前行之下新开一行
    O: 在当前行之前新开一行

    vi、vim的保存退出

    :w 保存当前文件
    :q 退出 vi/vim 编辑器
    :q! 不保存并退出vi/vim编辑器

    vi/vim 文本编辑器撤销操作命令

    u:取消最近一次的操作
    U:取消所有的操作

    vi/vim 文本编辑器剪切复制粘贴

    1、v+移动光标可以选中文本。
    2、x可以剪切已经选中的文本
    3、y可以复制已经选中的文本
    4、p可以粘贴

    vi/vim 文本编辑器复制操作

    复制一行则:yy
    复制当前光标所在的位置到行尾:y$
    复制当前光标所在的位置到行首:y^
    复制三行则:3yy,即从当前光标+下两行。

    vi/vim 文本编辑器复制操作

    删除一行:dd
    删除当前行光标所在的位置到行尾:d$
    删除当前行光标所在的位置到行首:d^
    前切三行:3dd,即从当前行+下两行被删除了。

    vi/vim 文本编辑器查找替换操作

    查找:

    /PATTERN 从当前光标所在处尾部查找
    ?PATTERN 从当前光标所在处首部查找

    查找下一个:

    n 与命令同方向
    N 与命令反方向

    替换:

    :s/p1/p2/g : 将当前行中所有p1替换成p2
    :n1,n2s/p1/p2/g:将第n1行到n2行中所有的p1替换成p2
    :g/p1/s//p2/g:将文件中所有的p1替换成p2

    vi/vim 文本编辑器其他操作

    行间移动:

    #G:跳到第#行
    G:最后一行 例如:1G或gg:第一行

    显示行号:

    set nu 显示;
    set nonu 取消显示;

    作者: 千里和他的软件测试

    软件测试学习交流: 软件测试交流群 172489141

    银行金融业务交流: 新网银测试群 52304542

    接口自动化性能交流: 一个正经的测试群 188427938

  • 相关阅读:
    C# 将DataTable存储到DBF文件中
    C#如何打开DBF数据库文件
    delphi 怎么获取工程版本号
    C#如何定义全局变量
    C# 控制台程序如何能不显示窗口
    【字符串问题】字符串压缩(将原来的字符串转化为字符串里的字符+该字符串出现的次数)
    【字符串问题】将一个字符串中的单词进行倒置
    【字符串问题】返回一个字符串的指定子串
    【2014华为校园招聘成都上机笔试题目】
    【字符串问题】求一个字符串中重复出现的最长的子串
  • 原文地址:https://www.cnblogs.com/laoluoits/p/15117200.html
Copyright © 2011-2022 走看看