一.概述

  在开启shell脚本编程之前,必须要知道一款文本编辑器的用法,如文本编辑的查找,剪切,粘贴,定位等, 本篇只讲vim编辑器。vim编辑器全名叫vi improved,是经过对Unix系统vi编辑器的一些改进而来,vi编辑器是Unix系统最初的编辑器。

  1.1    检查vim软件包

    下面分析vim的路径,vim软件包是哪种,vim别名:
      

  1.2   vim 基础

    vim编辑器在内存缓冲区中处理数据,如果指定的文件不存在,vim会开辟一段新的缓冲区域来编辑。如果文件存在,会将文件的整个内容读到一块缓冲区域来准备编辑。下面是指定编辑my.cnf文件,如下所示:

    [hsr@xuegod64 ~]$ vim /etc/my.cnf

    vim 编辑器有两种模式:一是普通模式,二是插入模式。当找开一个文件,进入后的是普通模式,按下 i 键就进入插入模式,要退回插入模式回到普通模式就按ESC键。
    在大文本文件中,vim有些快捷键需要知道。快捷键注意大小写,快捷键定位需在vim普通模式下进行:

按 Ctrl+F 下翻一屏。
按 Ctrl+B 上翻一屏。
按 G 移到文件底部最后一行。
按 gg 移到文件顶部第一行。
按 num G 移动到缓冲区中的第num行,例如按下14G就定位在14行。

    退出编辑器也有几种,在普通模式下按下冒号键 :,此时等待输入

按 :q  是未修改缓冲区数据,退出。
按 :q! 取消所有对缓冲区数据的修改并退出。
按 :wq 保存并退出。

  1.3   编辑数据

    这里介绍在普通模式下,vim编辑器提供了一些命令来编辑缓冲区中的数据,最后使用:wq来保存退出。注意这里编辑不是在插入模式下进行,是一些快捷方法。

命令

描述

x

删除当前光标所在位置的字符

dd

删除当前光标所在行

d$

删除当前光标所在位置至行尾的内容

u

撤销前一编辑命令

a

在当前光标后追加数据

A

在当前光标所在行行尾追加数据

  1.4 复制和粘贴

    剪切与粘贴:dd + p。 按dd 是删除一行,实际是将数据保存在单独的一个寄存器中,其实也是剪切一行, 按p 粘贴。
    复制与粘贴:y + p 。按y是复制,按$是光标所在位置至行尾的内容。按y$ 复制区域,按p粘贴。
    复制多行,可以通过按下v键,进入可视模式,光标选中的内容文本会高亮显示,如下图高亮显示区域文本有4行, 这样按下y$就复制了4行数据。如下图所示:
      

   1.5 查找

    在普通模式下,可以使用vim查找命令来轻松查找缓冲区中的数据, 按下斜线(/)键或者(?)键,输入要查找的字符,按(n)键查找下一个。如下图查找server关键词,按回车。在第二张图中高亮显示了二处含有server的关键词。
      
      

      要继续查找同一个关键词,按下n键。

Linux编程 19 编辑器(vim 用法)的更多相关文章

  1. Linux文本文件——文本编辑器Vim

    Linux文本文件——文本编辑器Vim 摘要:本文主要学习在Linux系统中使用Vim文本编辑器编辑文本. 什么是Vim Vim是一个基于文本界面的编辑工具,使用简单且功能强大.更重要的是,Vim是所 ...

  2. linux系统编辑神器 -vim用法大全

    vim编辑器 文本编辑器,字处理器ASCII nano, sed vi: Visual Interfacevim: VI iMproved 全屏编辑器,模式化编辑器 vim模式:编辑模式(命令模式)输 ...

  3. Kali Linux的vi编辑器/vim编辑器使用方法

    转载声明:本文为转载文章 原文地址:https://www.52host.cn/blog/kali-linux-vi-editor/ Kali Linux系统的vi编辑器/vim编辑器的使用和Cent ...

  4. 【Linux】文本编辑器Vim常用操作入门

    Linux常用文本编辑器:Vi & Eamcs Vim -- Vi的升级版本 Vim 一.3种工作模式 命令行模式 (Command Mode) 插入模式 (Insert Mode) -- 键 ...

  5. Linux学习总结(19)——Linux中文本编辑器vim特殊使用方法

    1. vim比对功能 在linux的环境下 用于观察两个文件的一致性的时候我们一般用diff这个命令来比对,但是这个命令不能你特别详细的比对出 具体的位置或者行对比.这里就用到了vim的对比功能 vi ...

  6. Linux之文本编辑器Vim

    一.什么是vim vi是一种模式编辑器.vi 是Unix世界里极为普遍的全屏幕文本编辑器,几乎可以说任何一台Unix机器都会提供这套软体,其他的文本编辑器则不一定会存在,但是目前我们使用比较多的是 v ...

  7. linux的vi编辑器常用用法一览

    vi 命令用于编辑文本文件,语法: vi 文件名 vi 是一个比较强大的编辑工具,类似于windows下的notepad,但是功能要强大的多.vi分为三种模式,分别是“一般模式”,“编辑模式”,“命令 ...

  8. Linux中vi编辑器的用法

    实验一: vi编辑器的模式切换 1.       实验目标:熟练掌握vi编辑器的三种模式间切换及其特点 2.       实验操作步骤: 步骤一: 进入vi编辑器即命令模式 进入vi编辑器可以在命令终 ...

  9. Linux编程里getopt_long_only函数用法详解

    在程序中难免需要使用命令行选项,可以选择自己解析命令行选项,但是有现成的,何必再造轮子.下面介绍使用getopt_long_only和getopt_long(两者用法差不多)解析命令行选项. 程序中主 ...

随机推荐

  1. 能量模型与softmax和RBM以及正态分布的关联

    上面一篇文章中探讨了玻尔兹曼分布的起源: 在不清楚目标的真实分布,也不知道样本分布的时候,假设任意输入与输出组合都是同样可能发生的,这样是最公平,最无偏的先验. 因为无法直接统计出给定任意一种输入x, ...

  2. H5新特性-视频,音频-Flash-canvas绘图

    json格式 json - > AJAX json:数据格式,通常是以字符串形式表示 对象 {"name":"james","age" ...

  3. 通过TABULATE过程制作汇总报表

    通过TABULATE过程制作汇总报表 制作基本汇总报表 TABULATE过程的基本语法如下: PROC TABULATE DATA=数据集 <选项>; CLASS 变量1 <变量2变 ...

  4. 更适用于JavaScript的设计模式:面向委托的设计,了解一下?(下)

    先来看一下传统的面向类式的写法: function Foo(name) { this.name = name; } Foo.prototype.sayName = function() { conso ...

  5. 2019浙大校赛--J--Extended Twin Composite Number(毒瘤水题)

    毒瘤出题人,坑了我们好久,从基本的素数筛选,到埃氏筛法,到随机数快速素数判定,到费马小定理,好好的水题做成了数论题. 结果答案是 2*n=n+3*n,特判1,2. 以下为毒瘤题目: 题目大意: 输入一 ...

  6. spring BeanWrapperImpl方便的嵌套属性(list)操作

    beans 包主要提供了接口和类用于处理java beans.     其中最主要的接口是BeanWrapper:     Spring 的中心接口,用于访问javabeans 的低层操作.默认实现为 ...

  7. 微信二次开发点击菜单openId的获取

    首先普及一个知识:一个关注的用户对于一个微信公众号是唯一的,也就是说一个用户针对与一个微信公众号是唯一的,对于不同的公众号,同一个微信号具有不同的openId; 在微信开发中,我们添加了一个二级菜单并 ...

  8. 0x66 Tarjan算法与无向图连通性(1)

    ……是什么? 给定无向连通图G=(V,E)(不一定连通); 割点:若对于x∈V,从图中删去节点x以及所有与x关联的边后,G分裂成两个或两个以上不相连的子图,则称x为G的割点. 桥(割边):若对于e∈E ...

  9. Py福利,基于uiautomatorviewer 的Python 自动化代码自动生成工具分享(jar已发布GitHub,欢迎Star)

    前言做UI自动化无论你用SDK自带的uiautomatorviewer还是Macaca还是Appium自动的inspector,代码最多的就是那些繁琐重复的找元素后点击,输入,长按.....等.现在偷 ...

  10. 我的C#跨平台之旅(一):从 Hello World 开始

    创建一个“控制台应用程序”,目标框架为“.NET Framework 4.5”,并移除无关的文件及引用,仅保留对 “system.dll”的引用:其中工程文件中核心内容如下: 使用NuGet添加如下引 ...