文本处理工具-vim编辑器的常见用法
文本编辑工具分类:
(1)全屏编辑器:
nano(字符编辑器)、vi、vim
(2)行编辑器:
sed:可以逐行改文件
vi编辑器
全名:Visual editor,linux系统自带的文本编辑工具
vim编辑器
全名:Visual editor iMproved,vi的增强版(需要单独安装)
vim工具的命令的格式
格式:
vim [选项] file
选项:
-b: 以二进制的形式打开文件
说明:
- 如果该文件存在,文件被打开并显示内容
- 如果该文件不存在,当编辑后第一次存盘时创建它
vim的三种模式
(1)命令模式(默认)--- vim的核心功能
命令模式作用: 查看文件内容,只能移动光标和文本粘贴/剪切
(2)插入模式(编辑模式)
作用:文本的编辑,数据交互
(3)扩展命令模式(末行模式)
作用:执行命令
三种模式的转换:


命令模式的相关操作(操作不会在屏幕显示)
退出
- 退出--- ZQ
- 保存退出 -- ZZ
光标移动
行内移动:
- 跳转到行首: 数字 0 (跳转到行首的第一个字符: ^(脱字符))
- 跳转到行尾: $
行间移动:
- 跳转到首行: gg
- 跳转到指定行: 行号 G
- 跳转到最后一行: G
字符编辑
剪切光标处的字符: x(剪切)
字母大小写转换 ~
剪切光标后面的字符
num X --- 删除光标处起始的num个字符
字符替换
r -- 替换一个字符
R -- 切换到replace模式 批量替换
字符删除
d 删除命令,可结合光标跳转字符,实现范围删除
- 从光标处开始 删除到行尾 d$
- 从光标处开始 删除到行首 d0。 删除到非空行首 d$
- 删除光标所在行 dd
- 删除双引号中间的内容: di "。 删除指定引号中间的内容: di 引号的一半
字符复制
- y -- 实现复制操作
例如: y0 --- 复制到行首
复制到行尾 --- y$
整行复制 -- yy --- 多行复制 num yy
查找
/关键字 向下搜索 --- n:继续往下搜索 N: 相反方向
? 关键字 -- 向上搜索 n:向上 N:向下
撤销
u
取消撤销: ctrl + r
可视化模式
v ”-- VISUAL -- “指示,表示在可视化模式 ctrl-v 面向块,-- VISUAL BLOCK --
范例:在某些行前添加一些固定的内容:
1、先将光标移动到指定的第一行的行首
2、输入ctrl+v 进入可视化模式
3、向下移动光标,选中希望操作的每一行的第一个字符
4、输入大写字母 I 切换至插入模式
5、输入 #
6、按 ESC 键
I 大写I 表示在当前光标所在行的行首输入
扩展的命令模式(末行模式)相关操作
保存退出
w q x !(表示强制)
位置定界
$ --- 最后一行
. --- 当前行
% -- 表示整个文件
num1,num2 -- 第几行到第几行(单独num -- 表示第几行)
例如删除第十行--十五行: 10,15 d
字符操作
删除 d
撤销 u
复制 y
set命令
行号显示:
set num
取消: set nonu
自动缩进:
set autoident 简写: set ai
取消: set noai
复制保留格式:
set paste
取消 set nopaste
显示不可见字符:
set list -- 可以用来区分tab键和空格键
^I:表示tab键 $:表示回车
高亮搜索(默认就是高亮):
set hlsearch
取消高亮简写: set nohl
更改文本格式:
set ff=unix|dos --- linux格式或者unix格式
搜索替换
s/xx/yy/ --- 斜线是分隔符,也可以使用其他的字符,比如@#%等符号
插入模式相关操作:
进入插入模式以后进行正常的数据交互
vim的配置文件
/etc/vimrc --- 针对所有人都有效
当前用户家目录: .vimrc --- 默认没有,需要手动建立 当前用户生效
其他文本处理工具
文本处理工具-vim编辑器的常见用法的更多相关文章
- Linux文本编译工具VIM详解
Linux文本编译工具VIM详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.VIM概述 1>.vim简介 >.vi: 全称Visual editor,即文本编辑 ...
- vim编辑器的常见使用功能
Vim是一个类似于vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性. 掌握简单的vim命令可以大大提高我们编辑文档效率,在装有vim编辑器的linux系统终端输入vim ...
- vim编辑器的基本用法
使用linux时候,个人比较喜欢用vim编辑器,对文本进行操作. 为了方便我使用vim编辑器,特地搜索了一下教程记录于此,防止自己忘记了. 下面就是一些vim使用的基础操作: 使用vim打开软件 vi ...
- linux添加vim编辑器和一些用法
vim.tar文件在自己的百度云盘里面,linux目录下 上传vim.tar文件,解压 vim编辑文件的一些快捷方式: n+t打开文件所在目录,显示在左侧 ctrl+w+l 切换到右边文件ctrl+w ...
- 4.Vim编辑器与Shell命令脚本
第4章 Vim编辑器与Shell命令脚本 章节简述: 本章首先讲解如何使用Vim编辑器来编写.修改文档,然后通过逐个配置主机名称.系统网卡以及Yum软件仓库参数文件等实验,帮助读者加深Vim编辑器中诸 ...
- Linux系统的vim编辑器的配置文件的初步说明
vim 编辑器的基本说明 vi编辑器的功能类似于Windows下的记事本,只能编辑普通文本,而vim编辑器则相当于Windows下的notepad++等高级编辑器,提升了代码开发效率. 将vi命令默认 ...
- 只有文本编辑器才是王道, 什么ide都是evil的浮云, 看看linus linux的内核开发工具vim emacs
只有文本编辑器才是王道, 什么ide都是evil的浮云, 看看linus linux的内核开发工具vim emacs [ide is evil] (http://i.cnblogs.com/EditP ...
- Linux之浅谈VIM常见用法及原理图
本次归纳以强大的VIM文本处理工具常见用法去展开论述. 文本编辑种类: 行编辑器:sed 全屏编辑器:nano,vi vim - Vi改进 其他编辑器: ...
- 【vim编辑器】文本编辑器vim
在Linux系统中一切皆文件.配置一个服务就是在修改其配置文件的参数 一.Vim编辑器 vim是我们在Linux系统中常用的文件编辑命令,也可以使用其简写vi.其边际模式有三种:命令模式,输入模式,行 ...
随机推荐
- EMC信号完整性落地实测1---走出玄学
EMC信号完整性落地实测1---走出玄学 无论我们从51单片机,STM32电路,运放,传感器,ADC采集还是可控硅晶闸管等等电源电路跨入到电子工程师的行业,我们通常会长时间处于低频的电子电路设计调试阶 ...
- 【洛谷】P4555 [国家集训队]最长双回文串
P4555 [国家集训队]最长双回文串 题源:https://www.luogu.com.cn/problem/P4555 原理:Manacher 还真比KMP好理解 解决最长回文串问题 转化为长度为 ...
- 《手把手教你》系列基础篇(九十一)-java+ selenium自动化测试-框架设计基础-Logback实现日志输出-下篇(详解教程)
1.简介 为了方便查看和归档:(1)不同包的日志可能要放到不同的文件中,如service层和dao层的日志:(2)不同日志级别:调试.信息.警告和错误等也要分文件输出.所以宏哥今天主要介绍和分享的是: ...
- 为何数据库连接池不采用IO多路复用?
今天我们聊一个不常见的 Java 面试题:为什么数据库连接池不采用 IO 多路复用? 这是一个非常好的问题.IO多路复用被视为是非常好的性能助力器.但是一般我们在使用 DB 时,还是经常性采用c3 ...
- 浅谈 TCP、IP、DNS 和 HTTP 的关系
一.浅谈三个协议的基本概念 1.IP 协议 按层次分,IP网际协议位于网络层,几乎所有的网络的系统都会用到 IP 协议,其重要性非同一般.IP 协议作用就是把各种数据包传送给对方,对方的地址就要看其 ...
- .NET Core 中的 Logging 简单实用 - 记录日志消息显示到控制台
.NET Core 支持适用于各种内置和第三方日志记录提供程序的日志记录 API. 本文介绍了如何将日志记录 API 与内置提供程序一起使用. 本文中所述的大多数代码示例都来自 .Net 5 应用. ...
- 集成算法(Bagging & Boosting)
用多种分类器一起完成同一份任务 Bagging策略(有放回的,随机的,子集大小一样的,m个训练集用同一个模型) Boosting-提升策略(串联) AdaBoost算法
- 【ACM程序设计】前缀和
前缀和 前缀和是指某序列的前n项和,可以把它理解为数学上的数列的前n项和 作用: 一种预处理,求出的前缀和数组可以使得,输出原序列中从第l个数到第r个数和的时间复杂度变成了O(1) . 一维前缀和 ...
- RestFul和控制器
RestFul和控制器 控制器Controller 控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现. 控制器负责解析用户的请求并将其转换为一个模型. 在Spring MVC中 ...
- [数学基础] 4 欧几里得算法&扩展欧几里得算法
欧几里得算法 欧几里得算法基于的性质: 若\(d|a, a|b\),则\(d|(ax+by)\) \((a,b)=(b,a~mod~b)\) 第二条性质证明: \(\because a~mod~b=a ...