Linux编程 19 编辑器(vim 用法)
一.概述
在开启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 用法)的更多相关文章
- Linux文本文件——文本编辑器Vim
Linux文本文件——文本编辑器Vim 摘要:本文主要学习在Linux系统中使用Vim文本编辑器编辑文本. 什么是Vim Vim是一个基于文本界面的编辑工具,使用简单且功能强大.更重要的是,Vim是所 ...
- linux系统编辑神器 -vim用法大全
vim编辑器 文本编辑器,字处理器ASCII nano, sed vi: Visual Interfacevim: VI iMproved 全屏编辑器,模式化编辑器 vim模式:编辑模式(命令模式)输 ...
- Kali Linux的vi编辑器/vim编辑器使用方法
转载声明:本文为转载文章 原文地址:https://www.52host.cn/blog/kali-linux-vi-editor/ Kali Linux系统的vi编辑器/vim编辑器的使用和Cent ...
- 【Linux】文本编辑器Vim常用操作入门
Linux常用文本编辑器:Vi & Eamcs Vim -- Vi的升级版本 Vim 一.3种工作模式 命令行模式 (Command Mode) 插入模式 (Insert Mode) -- 键 ...
- Linux学习总结(19)——Linux中文本编辑器vim特殊使用方法
1. vim比对功能 在linux的环境下 用于观察两个文件的一致性的时候我们一般用diff这个命令来比对,但是这个命令不能你特别详细的比对出 具体的位置或者行对比.这里就用到了vim的对比功能 vi ...
- Linux之文本编辑器Vim
一.什么是vim vi是一种模式编辑器.vi 是Unix世界里极为普遍的全屏幕文本编辑器,几乎可以说任何一台Unix机器都会提供这套软体,其他的文本编辑器则不一定会存在,但是目前我们使用比较多的是 v ...
- linux的vi编辑器常用用法一览
vi 命令用于编辑文本文件,语法: vi 文件名 vi 是一个比较强大的编辑工具,类似于windows下的notepad,但是功能要强大的多.vi分为三种模式,分别是“一般模式”,“编辑模式”,“命令 ...
- Linux中vi编辑器的用法
实验一: vi编辑器的模式切换 1. 实验目标:熟练掌握vi编辑器的三种模式间切换及其特点 2. 实验操作步骤: 步骤一: 进入vi编辑器即命令模式 进入vi编辑器可以在命令终 ...
- Linux编程里getopt_long_only函数用法详解
在程序中难免需要使用命令行选项,可以选择自己解析命令行选项,但是有现成的,何必再造轮子.下面介绍使用getopt_long_only和getopt_long(两者用法差不多)解析命令行选项. 程序中主 ...
随机推荐
- 能量模型与softmax和RBM以及正态分布的关联
上面一篇文章中探讨了玻尔兹曼分布的起源: 在不清楚目标的真实分布,也不知道样本分布的时候,假设任意输入与输出组合都是同样可能发生的,这样是最公平,最无偏的先验. 因为无法直接统计出给定任意一种输入x, ...
- H5新特性-视频,音频-Flash-canvas绘图
json格式 json - > AJAX json:数据格式,通常是以字符串形式表示 对象 {"name":"james","age" ...
- 通过TABULATE过程制作汇总报表
通过TABULATE过程制作汇总报表 制作基本汇总报表 TABULATE过程的基本语法如下: PROC TABULATE DATA=数据集 <选项>; CLASS 变量1 <变量2变 ...
- 更适用于JavaScript的设计模式:面向委托的设计,了解一下?(下)
先来看一下传统的面向类式的写法: function Foo(name) { this.name = name; } Foo.prototype.sayName = function() { conso ...
- 2019浙大校赛--J--Extended Twin Composite Number(毒瘤水题)
毒瘤出题人,坑了我们好久,从基本的素数筛选,到埃氏筛法,到随机数快速素数判定,到费马小定理,好好的水题做成了数论题. 结果答案是 2*n=n+3*n,特判1,2. 以下为毒瘤题目: 题目大意: 输入一 ...
- spring BeanWrapperImpl方便的嵌套属性(list)操作
beans 包主要提供了接口和类用于处理java beans. 其中最主要的接口是BeanWrapper: Spring 的中心接口,用于访问javabeans 的低层操作.默认实现为 ...
- 微信二次开发点击菜单openId的获取
首先普及一个知识:一个关注的用户对于一个微信公众号是唯一的,也就是说一个用户针对与一个微信公众号是唯一的,对于不同的公众号,同一个微信号具有不同的openId; 在微信开发中,我们添加了一个二级菜单并 ...
- 0x66 Tarjan算法与无向图连通性(1)
……是什么? 给定无向连通图G=(V,E)(不一定连通); 割点:若对于x∈V,从图中删去节点x以及所有与x关联的边后,G分裂成两个或两个以上不相连的子图,则称x为G的割点. 桥(割边):若对于e∈E ...
- Py福利,基于uiautomatorviewer 的Python 自动化代码自动生成工具分享(jar已发布GitHub,欢迎Star)
前言做UI自动化无论你用SDK自带的uiautomatorviewer还是Macaca还是Appium自动的inspector,代码最多的就是那些繁琐重复的找元素后点击,输入,长按.....等.现在偷 ...
- 我的C#跨平台之旅(一):从 Hello World 开始
创建一个“控制台应用程序”,目标框架为“.NET Framework 4.5”,并移除无关的文件及引用,仅保留对 “system.dll”的引用:其中工程文件中核心内容如下: 使用NuGet添加如下引 ...