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(两者用法差不多)解析命令行选项. 程序中主 ...
随机推荐
- Python3.7 Scrapy crawl 运行出错解决方法
安装的是Python3.7,装上依赖包和scrapy后运行爬虫命令出错 File "D:\Python37\lib\site-packages\scrapy\extensions\telne ...
- ibatis中的resultMap
优点: resultMap可以实现一种功能 当你是1对多 这种多张表查询的时候 你没办法 通过表连接来实现一个集合设置到一个实例里,但是通过resultMap里可以做到 根据关联的字段 查询到一个集合 ...
- C++标准库第二版笔记 3 和异常的理解 1
C++标准库第二版笔记 3 和异常的理解 1 差错和异常(error and exception)的处理 标准异常类(exception class) 定义于 分为: 1.语言本身支持的异常 2.标准 ...
- 洛谷[LnOI2019]长脖子鹿省选模拟赛 简要题解
传送门 听说比赛的时候T4T4T4标程锅了??? WTF换我时间我要写T3啊 于是在T4T4T4调半天无果的情况下260pts260pts260pts收场真的是tcltcltcl. T1 快速多项式变 ...
- linux 挂载ntfs格式的硬盘
一.安装ntfs 1.下载 sudo wget https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2017.3.23.tgz 2.解压 sudo tar ...
- springmvc 整合Controller出现实例化两次问题
启动项目的时候,发现初始化控制层的时候,初始化(使用构造方法打印日志的方式)了两次的情况. 后来检查配置: <context:component-scan base-package=" ...
- usb2.0、usb3.0、usb3.1、type-c 接口含义与区别
简单说: usb3.0 比2.0的传输速率快,充电快,能向下兼容2.0 usb3.1 通常是指 usb3.1 gen2,比3.0的传输速率更快.充电更快,同兼容 type-c 通常是指 usb3.1的 ...
- pip3 install的时候报错timed out
问题: 执行pip install requests报错 Read timed out. 解决方法: 修改超时时间: pip --default-timeout=1000 install -U r ...
- python2 python3区别
Python开发团队将在2020年1月1日停止对Python2.7的技术支持,但python2的库仍然比较强大(在 pip 官方下载源 pypi 搜索 Python2.7 和 Python3.5 的第 ...
- Postman SMTP 存在跨站脚本(XSS)漏洞,请换用Post SMTP Mailer/Email Log
Postman SMTP 是一个安装量超过10W的WordPress插件,但是已经2年多没有更新,2017年6月29日,被发现存在跨站脚本(XSS)漏洞(查看详情),并且作者一直没有更新,所以被从Wo ...