热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LinuxVi编辑器和find命令的使用

vi编辑器Linux:使用文本文件来保存配置文件文本编辑器:ASCII文件emacsvivi:VisualInterface࿰

vi 编辑器

Linux:使用文本文件来保存配置文件
文本编辑器:ASCII文件
emacs vi
vi:Visual Interface(纯字符界面的编辑器)
全屏文本编辑,nano
模式化的编辑器

moduler
vim :vi improved
vi的模式:
编辑模式:键盘操作通常被解析为编辑命令:
输入模式:
末行模式:vim的内置的命令行接口,执行vim内置命令

编辑模式–>输入模式
i:当前光标处输入内容
I:在当前光标所在行的行首
a:在当前光标所在处的后面
A:在当前光标所在行的行尾输入
o:在光标所在行的下方新增一行空白行
O:在光标所在行的上方新增一行空白行

输入模式-->编辑模式
ESC
编辑模式-->末行模式
:
末行模式-->编辑模式
ESC,ESC

vi命令的使用格式
vim [options] /path/to/file

退出:
:q!强制退出,不保存并退出
:wq 保存修改并退出
:w 保存不退出
:x,保存并退出
编辑模式:ZZ,保存退出

打开:
多文件跳转
:next 下一个
:prev 上一个
:first 第一个
:last 最后一个
:qall 退出所有的文件
:wqall:修改并退出多个文件
分隔窗口打开多个文件
-o:水平分隔
ctrl+w,上下箭头
-O:垂直分隔
ctrl+w,左右箭头
+#:打开文件后在第#号行首
+:打开文件后在最后一行
光标移动:
单字符移动:
h:左
l:右
j:下
k:上
可以和数字组合
单词间移动:
w:调至下一个单词的词首
b:当前或前一个的词首
e:当前或下一个词的词尾
行内移动:
0:绝对行首
^:第一个非空白字符
$:绝对行尾
句子间移动:
):上一句
(: 下一句
段落间移动:
}:上一段
{:下一段
行间移动:
#G:第几行 #gg
G:最后一行
编辑操作:
x:删除光标所在处的字符
#x:删除光标所在处向后的#个字符
r:替换光标所在处的字符

d:删除命令结果光标跳转命令使用d^ 光标删除至行首d$ 光标删除至行尾(shift+d)%:全部dd:删除一行#dd:删除所在行后的#行y:复制命令yy:复制当前一行 p粘贴#yy:复制#行

p:paste 粘贴
复制或删除的是整行
p:当前行的下一行
P:当前行的上一行
复制或删除的为非整行
p:粘贴在光标所在字符的后面
P: 粘贴在光标所在字符的前面
撤销编辑
u:undo
#u:最近50次操作
撤销此前的撤销操作
ctrl+r:
重复执行此前的命令:
.
翻屏:
ctrl+f:向文件尾部翻一屏
ctrl+b:向文件首部翻一屏
ctrl+d:向文件尾部翻半屏
ctrl+u:向文件首部翻半屏
Enter:下一行
k :上一行
查找:
/keyword
?keyword
n:往下翻查找的结果
N:往上翻查找的结果
支持正则表达式

vim的可视化模式
编辑模式:
v:按照光标走过的区域选择
V:选择矩形行
vim可视化模式:
v: 按光标走过的区域选择
V: 选择矩形行
ctrl+v:选择矩形块

末行模式:范围定界
start,end:可以使用绝对定界,也可以使用相对定界
.:表示当前行
$:最后一行
$-2:倒数第3行
/pat1/,/pat2/:起始处为光标所在行
c:改变
跟d一样操作
y:yank,复制
跟d一样操作
s:替换

:set nohlsearch 关闭高亮显示,对当前shell有效

打开多个文件,分窗口:
vim -o
vim -O
Ctrl+w, 上下箭头

分割当前窗口:
Ctrl+w, s
Ctrl+w, v

窗口属性的定义:
:set nu 输出行号
:set nonu

:set ai 自动缩进(其他发行版本):set shiftwidth=4 设置自动缩进空格数为4(ubuntu系统)
:set softabstop=4 设置制表符宽度为4:set ic 查找时不考虑大小写
:set noic 查找时考虑大小写显示对应的括号
:set sm (show match)
:set nosm语法高亮:
:syntax on
:syntax off搜索高亮:
:set hlsearch
:set nohlsearch

vim的配置文件:
全局:/etc/vimrc
个人:~/.vimrc
查找替换:
:地址定界s/查找模式/替换为的内容/gi
g:全局替换
i:不区分大小写
:地址定界s@查找模式@替换为的内容@gi
&:用于在替换为的内容部分中引用前面匹配到的所有内容

find:
实时查找工具,通过遍历指定路径下的文件系统完成文件查找。
特点:
查找速度慢
精确查找
实时查找
语法格式:
find [option]… [查找路径] [查找条件] [处理动作]

查找路径:指定具体目标路径;默认为当前目录
查找条件:指定的查找标准,可以文件名、大小、类型、权限等标准进行;默认为找出指定路径下所有文件
处理动作:对符合条件的文件做什么操作,默认为标准输出至屏幕。、-print:默认动作,输出至屏幕-ls:类似ls -l命令-delete:查找出然后删除-fls /path/to/somefile-ok COMMAND {} \;对查到的每个文件执行COMMAND命令,对于每个文件执行命令,需交互确认-exec COMMAND {} \;直接处理,不交互。 {}:用于引用查找到的文件名称本身
查找条件:根据文件名查找:-name "文件名称" (支持使用glob通配 *,?,[],[^]) 例如 find /etc -name "passwd*"-iname "文件名称" (不区分大小写)-regex "PATTEN": 以PATTEN匹配整个文件路径字符串,而不仅仅是文件名称:根据属主 属组查找-user USERNAME:查找属主为指定用户的文件group GROUPNAME:查找属组为指定用户的文件。-uid UserID:查找属主为指定UID的文件-gid GroupID:查找属主为指定GID的文件-nouser:查找没有属主的文件-nogroup:查找没有属组的文件根据文件类型查找:-type TYPE:f:普通文件d:目录文件l:符号链接文件s:套接字文件b:块设备文件c:字符设备文件p:管道文件组合条件(与 或 非)根据文件大小来查找:-size [+|-]#UNIT常用单位:k,M,GUNIT:(#-1,#]-UNIT:(0,#-1]+#UNIT:(#,oo)根据时间戳:以“天”为单位:-atime: [+|-]#-mtime:-ctime:以“分钟”为单位:-amin-mmin-cmin根据权限来查找-perm [+|-]MODE


推荐阅读
  • Python正则表达式详解:掌握数量词用法轻松上手
    Python正则表达式详解:掌握数量词用法轻松上手 ... [详细]
  • 本文详细探讨了Java集合框架的使用方法及其性能特点。首先,通过关系图展示了集合接口之间的层次结构,如`Collection`接口作为对象集合的基础,其下分为`List`、`Set`和`Queue`等子接口。其中,`List`接口支持按插入顺序保存元素且允许重复,而`Set`接口则确保元素唯一性。此外,文章还深入分析了不同集合类在实际应用中的性能表现,为开发者选择合适的集合类型提供了参考依据。 ... [详细]
  • PHP中元素的计量单位是什么? ... [详细]
  • C#编程指南:实现列表与WPF数据网格的高效绑定方法 ... [详细]
  • MySQL性能优化与调参指南【数据库管理】
    本文详细探讨了MySQL数据库的性能优化与参数调整技巧,旨在帮助数据库管理员和开发人员提升系统的运行效率。内容涵盖索引优化、查询优化、配置参数调整等方面,结合实际案例进行深入分析,提供实用的操作建议。此外,还介绍了常见的性能监控工具和方法,助力读者全面掌握MySQL性能优化的核心技能。 ... [详细]
  • 利用PaddleSharp模块在C#中实现图像文字识别功能测试
    PaddleSharp 是 PaddleInferenceCAPI 的 C# 封装库,适用于 Windows (x64)、NVIDIA GPU 和 Linux (Ubuntu 20.04) 等平台。本文详细介绍了如何使用 PaddleSharp 在 C# 环境中实现图像文字识别功能,并进行了全面的功能测试,验证了其在多种硬件配置下的稳定性和准确性。 ... [详细]
  • MongoDB Aggregates.group() 方法详解与编程实例 ... [详细]
  • 优化后的标题:PHP分布式高并发秒杀系统设计与实现
    PHPSeckill是一个基于PHP、Lua和Redis构建的高效分布式秒杀系统。该项目利用php_apcu扩展优化性能,实现了高并发环境下的秒杀功能。系统设计充分考虑了分布式架构的可扩展性和稳定性,适用于大规模用户同时访问的场景。项目代码已开源,可在Gitee平台上获取。 ... [详细]
  • 深入解析零拷贝技术(Zerocopy)及其应用优势
    零拷贝技术(Zero-copy)是Netty框架中的一个关键特性,其核心在于减少数据在操作系统内核与用户空间之间的传输次数。通过避免不必要的内存复制操作,零拷贝显著提高了数据传输的效率和性能。本文将深入探讨零拷贝的工作原理及其在实际应用中的优势,包括降低CPU负载、减少内存带宽消耗以及提高系统吞吐量等方面。 ... [详细]
  • 深入解析:RKHunter与AIDE在入侵检测中的应用与优势
    本文深入探讨了RKHunter与AIDE在入侵检测领域的应用及其独特优势。通过对比分析,详细阐述了这两种工具在系统完整性验证、恶意软件检测及日志文件监控等方面的技术特点和实际效果,为安全管理人员提供了有效的防护策略建议。 ... [详细]
  • RancherOS 是由 Rancher Labs 开发的一款专为 Docker 设计的轻量级 Linux 发行版,提供了一个全面的 Docker 运行环境。其引导镜像仅 20MB,非常适合在资源受限的环境中部署。本文将详细介绍如何在 ESXi 虚拟化平台上安装和配置 RancherOS,帮助用户快速搭建高效、稳定的容器化应用环境。 ... [详细]
  • 在Windows命令行中,通过Conda工具可以高效地管理和操作虚拟环境。具体步骤包括:1. 列出现有虚拟环境:`conda env list`;2. 创建新虚拟环境:`conda create --name 环境名`;3. 删除虚拟环境:`conda env remove --name 环境名`。这些命令不仅简化了环境管理流程,还提高了开发效率。此外,Conda还支持环境文件导出和导入,方便在不同机器间迁移配置。 ... [详细]
  • Android平台生活辅助应用的设计与开发实现
    随着移动互联网技术的迅猛发展,Android操作系统已成为移动设备中的主流平台。本文探讨了基于Android平台的生活辅助应用设计与开发,旨在通过创新的功能和用户友好的界面,提升用户的日常生活质量。研究不仅涵盖了应用的核心功能实现,还深入分析了用户体验优化的方法,为同类应用的开发提供了有价值的参考。 ... [详细]
  • 本文探讨了如何使用Python实现散列表(即哈希表)的直接地址技术,通过键值对快速定位内存中的数据存储位置,提高了数据检索的效率。该方法利用哈希函数将键映射到特定的数组索引,从而实现快速存取操作。 ... [详细]
  • Elasticsearch 嵌套调用中动态类导致数据返回异常分析与解决方案 ... [详细]
author-avatar
判官-包公_529
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有