文本编辑工具VIM

vim 主要有三种工作模式,分别是命令模式、插入模式和编辑模式,输入 vim 文件名 我们可以进入命令模式,输入字符 i或者a或者o我们可以进入插入模式,进入插入模式之后我们可以进行文件的内容修改,修改完成之后,可以输入 :wq 可以保存退出。

编辑模式基本命令

w 写(存)磁盘文件
wq 写入并退出
x 写入并退出
X 加密
q 退出
q! 不保存退出,即使更改都将丢失
r filename 读文件内容到当前文件中
w filename 将当前文件内容写入另一个文件
!command 执行命令
r!command 读入命令的输出

选择范围

:2 具体第2行,例如2表示第2行
x,y 左侧x表示起始行,到右侧y表示结尾行
x,+5 左侧x表示起始行,加上右侧5表示的行数,范例:2,+3 表示2到5行
. 表示当前行
$ 表示最后一行
.,$-1 表示当前行到倒数第二行
% 表示全文, 相当于1,$
/xxxx/ 表示从当前行向下查找,直到匹配xxxx的第一行,即:正则表达式
/x/,/y/ 表示从第一次被x匹配到的行开始,一直到第一次被y匹配到的行结束
2,/x/ 表示从指定第二行开始,一直找到第一个匹配x的行结束
/x/,$ 表示向下找到第一个匹配x的行到整个文件的结尾的所有行

范围后跟命令

d 删除
y 复制
w file 将范围内的行另存至指定文件中
r file 在指定位置插入指定文件中的所有内容

查找与替换

s/要查找的内容/替换为的内容/修饰符
修饰符:
i 忽略大小写
g 全局替换,默认情况下,每一行只替换第一次出现的
gc 全局替换,每次替换前询问
查找替换中的分隔符/可替换为其它字符,如:#,@ 编辑模式的配置只是对当前vim进程有效,可将配置存放在文件中持久保存
/etc/vimrc 全局
~/.vimrc 个人 行号
显示:set number,简写 set nu
取消显示:set nonumber, 简写 set nonu 自动缩进
启用:set autoindent,简写 set ai
禁用:set noai 复制保留格式
启用:set paste
禁用:set nopaste 文件格式
启用windows格式:set fileformat=dos
启用unix格式:set fileformat=unix
简写 set ff=dos|unix 查看不可见字符
:set list

命令模式基本命令

光标跳转

当前页跳转:
H:页首
M:页中间行
L:页底
zt:将光标所在当前行移到屏幕顶端
zz:将光标所在当前行移到屏幕中间
zb:将光标所在当前行移到屏幕底端 行首行尾跳转:
^ 跳转至行首的第一个非空白字符
0 跳转至行首
$ 跳转至行尾 行间移动:
G 或者编辑命令模式下 :3 跳转至由第3行
G 最后一行
1G, gg 第一行 字符编辑:
x 剪切光标处的字符
5x 剪切光标处起始的5个字符
xp 交换光标所在处的字符及其后面字符的位置
p 粘贴
~ 转换大小写
J 删除当前行后的换行符(将下一行内容移动到当前行末) 替换命令(replace)
r 只替换光标所在处的一个字符
R 切换成REPLACE模式(在末行出现-- REPLACE ),按ESC回到命令模式 删除命令(delete)
d 删除命令,可结合光标跳转字符,实现范围删除
d$ 删除到行尾
d^ 删除到非空行首
d0 删除到行首
#COMMAND
dd: 剪切光标所在的行
#dd 多行删除
D:从当前光标位置一直删除到行尾,等同于d$ 复制命令
y 复制,行为相似于d命令
#COMMAND
yy:复制行
#yy 复制多行
Y:复制整行 粘贴命令(paste)
p 缓冲区存的如果为整行,则粘贴在当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面
P 缓冲区存的如果为整行,则粘贴在当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面 查找
/PATTERN:从当前光标所在处向文件尾部查找 撤消更改
u 撤销最近的更改,相当于windows中ctrl+z
#u 撤销之前多次更改
U 撤消光标落在这行后所有此行的更改
Ctrl-r 重做最后的“撤消”更改,相当于windows中crtl+y
. 重复前一个操作
x. 重复前一个操作x次

可视化模式

在末行有”-- VISUAL -- “指示,表示在可视化模式

允许选择的文本块:

  • v 面向字符,-- VISUAL --
  • V 面向整行,-- VISUAL LINE --
  • ctrl-v 面向块,-- VISUAL BLOCK --

linux文本编辑工具的更多相关文章

  1. linux的基本操作(文本编辑工具vim)

    文本编辑工具vim * 命令模式:在一般模式下,输入”:”或者”/”即可进入命令模式.在该模式下,你可以搜索某个字符或者字符串,也可以保存.替换.退出.显示行号等等. 下面笔者教你如何在一个空白文档中 ...

  2. Brackets 1.8 开源+免费的Web前端网页文本编辑工具

    Brackets 1.8 开源+免费的Web网页文本编辑工具   -------------->> ---------------------- A modern, open source ...

  3. Linux性能工具介绍

    l  Linux性能工具介绍 p  CPU高 p  磁盘I/O p  网络 p  内存 p  应用程序跟踪 l  操作系统与应用程序的关系比喻为“唇亡齿寒”一点不为过 l  应用程序的性能问题/功能问 ...

  4. Linux 常用工具小结:(5) lftp工具使用

    Linux 常用工具小结:(1) lftp工具使用. 这里会按照一些比较常用的功能列出,并举一个具体的例子逐一解释功能. 通常使用ftp过程是登陆ftp,浏览ftp内容,下载ftp文件,或者上传ftp ...

  5. linux shell工具集合

    1)判断进程是否存在,如果不存在再执行启动命令,可以避免一个脚本同时启动多份 if [ $(ps -ef |grep  bastion_account.sh|grep -v grep|wc -l) - ...

  6. Linux命令工具 top详解

    Linux命令工具 top详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不 ...

  7. Linux命令工具基础04 磁盘管理

    Linux命令工具基础04 磁盘管理 日程磁盘管理中,我们最常用的有查看当前磁盘使用情况,查看当前目录所占大小,以及打包压缩与解压缩: 查看磁盘空间 查看磁盘空间利用大小 df -h -h: huma ...

  8. php大力力 [003节]php在百度文库的几个基础教程mac环境下文本编辑工具

    2015-08-22 php大力力003.mac环境下文本编辑工具 在windows下,使用notepad特别多.在mac下使用“备忘录”app,word,反而没有存储过txt后缀等不同文本. mac ...

  9. linux vi 工具的使用

    linux vi 工具的使用 1.打开文件 vi filename 如果存在该文件,则打开,不存在,则删除 2. 进入vi后,按i建,可以输入内容, 按ESC 在按: ,输入wq保存并退出. 3.移动 ...

随机推荐

  1. cloudcompare备忘录(1)

    1.找点 然后直接在需要的位置上点就会出现这个点的信息了~! 2.想看一个三d的切面时候 先选中切的目标 点击小剪刀~ 点击鼠标左键四次来框选,然后点击鼠标右键确认 再点击这个按钮就切好了

  2. 实际工程中加快 Java 代码编写的小提示

    这里我简单谈谈 Java 语法在编程效率方面的弱势,以及如何补救. 一.集合的快速创建 C# 是少数拥有集合字面值(又叫初始化表达式)的静态语言之一. var list = new List<i ...

  3. 解决sublime代码不提示的问题

    如果想让sublime在你输入标签的过程中给你提示,需要按要求开启以下功能. 1.开启代码自动提示功能

  4. iOS 性能优化系列

    Objective-C 高性能的循环 使用 Swift 和 Objective-C 执行 iOS 内存管理的 7 个简单技巧 @autoreleasepool-内存的分配与释放

  5. LVS+Keepalived群集

    LVS+Keepalived群集 目录 LVS+Keepalived群集 一.Keepalived实现原理 1. 单服务器的风险 2. Keepalived工具 3. Keepalived解决单点故障 ...

  6. Kubernetes 集群和应用监控方案的设计与实践

    目录 Kubernetes 监控 监控对象 Prometheus 指标 实践 节点监控 部署 Prometheus 部署 Kube State Metrics 部署 Grafana 应用如何接入 Pr ...

  7. java Doc的生成方式

    Java Doc Javadoc命令是用来生产自己API文档的 参数信息 @author作者名 @version 版本号 @since 指明需要最早使用的JDK版本 @param参数名 @return ...

  8. 通过Dapr实现一个简单的基于.net的微服务电商系统(十九)——分布式事务之Saga模式

    在之前的系列文章中聊过分布式事务的一种实现方案,即通过在集群中暴露actor服务来实现分布式事务的本地原子化.但是actor服务本身有其特殊性,场景上并不通用.所以今天来讲讲分布式事务实现方案之sag ...

  9. Spring Boot Starter 理解

    个人理解 快速集成,快速基础配置. 参考 深入springboot原理--一步步分析springboot启动机制(starter机制) 深入springboot原理--动手封装一个starter

  10. linux服务器登录微信报警通知

    linux服务器ssh登录安全规则中,理论上要做到:防火墙限制,hosts.allow限制,root禁止登录,用户权限分配,ssh端口修改,登录时间限制,堡垒机登录. 这里只讲登录时间限制和登录报警通 ...