linux文本编辑工具
文本编辑工具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文本编辑工具的更多相关文章
- linux的基本操作(文本编辑工具vim)
文本编辑工具vim * 命令模式:在一般模式下,输入”:”或者”/”即可进入命令模式.在该模式下,你可以搜索某个字符或者字符串,也可以保存.替换.退出.显示行号等等. 下面笔者教你如何在一个空白文档中 ...
- Brackets 1.8 开源+免费的Web前端网页文本编辑工具
Brackets 1.8 开源+免费的Web网页文本编辑工具 -------------->> ---------------------- A modern, open source ...
- Linux性能工具介绍
l Linux性能工具介绍 p CPU高 p 磁盘I/O p 网络 p 内存 p 应用程序跟踪 l 操作系统与应用程序的关系比喻为“唇亡齿寒”一点不为过 l 应用程序的性能问题/功能问 ...
- Linux 常用工具小结:(5) lftp工具使用
Linux 常用工具小结:(1) lftp工具使用. 这里会按照一些比较常用的功能列出,并举一个具体的例子逐一解释功能. 通常使用ftp过程是登陆ftp,浏览ftp内容,下载ftp文件,或者上传ftp ...
- linux shell工具集合
1)判断进程是否存在,如果不存在再执行启动命令,可以避免一个脚本同时启动多份 if [ $(ps -ef |grep bastion_account.sh|grep -v grep|wc -l) - ...
- Linux命令工具 top详解
Linux命令工具 top详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不 ...
- Linux命令工具基础04 磁盘管理
Linux命令工具基础04 磁盘管理 日程磁盘管理中,我们最常用的有查看当前磁盘使用情况,查看当前目录所占大小,以及打包压缩与解压缩: 查看磁盘空间 查看磁盘空间利用大小 df -h -h: huma ...
- php大力力 [003节]php在百度文库的几个基础教程mac环境下文本编辑工具
2015-08-22 php大力力003.mac环境下文本编辑工具 在windows下,使用notepad特别多.在mac下使用“备忘录”app,word,反而没有存储过txt后缀等不同文本. mac ...
- linux vi 工具的使用
linux vi 工具的使用 1.打开文件 vi filename 如果存在该文件,则打开,不存在,则删除 2. 进入vi后,按i建,可以输入内容, 按ESC 在按: ,输入wq保存并退出. 3.移动 ...
随机推荐
- ApacheCN 深度学习译文集 20201229 更新
新增了七个教程: TensorFlow 和 Keras 应用开发入门 零.前言 一.神经网络和深度学习简介 二.模型架构 三.模型评估和优化 四.产品化 TensorFlow 图像深度学习实用指南 零 ...
- Maven 警告 expected START_TAG or END_TAG not TEXT
原因 在Maven警告提示区域存在空格等不规范字符,在网上复制到项目中时经常出现类似问题. pop.xml文件,setting.xml文件极易出现此类问题. 解决 将空格删除,规范一下格式就好了. 示 ...
- JS 中的GB2312转UTF8和UTF8转GB2312
转载请注明来源:https://www.cnblogs.com/hookjc/ JS:encodeURI encodeURI(URIString)必选的 URIString 参数代表一个已编码的 UR ...
- ubuntu memcached安装与配置
转载请注明来源:https://www.cnblogs.com/hookjc/ 关于Memcache与memcachedMemcache是项目名,memcached是服务名.让很多初接触的人感觉很是莫 ...
- SqlServer数据库表生成C# Model实体类SQL语句——补充
在sql语句最前边加上 use[数据库名] 原链接:https://www.cnblogs.com/jhli/p/11552105.html --[SQL骚操作]SqlServer数据库表生成C ...
- 重力感应 加速计- By严焕培
// 加速计-传统用法 // // Created by 严焕培 on 15-05-19. // Copyright (c) 2015年 sibu. All rights reserved. / ...
- NFS共享存储服务 (如果厌倦了外面的生活,那就来我身边吧,帮我插秧)
NFS共享存储服务 1.NFS概述 2.在服务器使用NFS发布共享资源 3.在客户机中访问NFS共享资源 1.NFS概述: NFS是一种基于TCP/IP传输的网络文件系统协议.通过使用NFS协 ...
- WEB前端开发--1(Web前端开发综述)
Web前端开发 Web--Web系统 前端--网页上为用户呈现的部分 开发--编写代码 1. 前端与后端 前端:网页上为用户呈现的部分 后端:与数据库进行交互,完成数据存取 2. 网站与 ...
- puppeteerExamples
What can I do? Most things that you can do manually in the browser can be done using Puppeteer! Here ...
- Solution -「洛谷 P4198」楼房重建
\(\mathcal{Description}\) Link. 给定点集 \(\{P_n\}\),\(P_i=(i,h_i)\),\(m\) 次修改,每次修改某个 \(h_i\),在每次修改后 ...