Vim编辑器完全指南与Shell命令补充:从零到实战
前言在Linux的世界里文本编辑器是每位开发者、运维人员最亲密的伙伴。无论你是编写代码、修改配置文件还是记录笔记都离不开一款趁手的编辑器。今天我们将系统学习Linux中最核心的两类编辑器——Vim专业级和Nano轻量级并补充掌握Shell命令中echo、管道符、重定向和文件合并等实用技巧。这些都是日常工作中最常用到的技能。本文将通过在Xshell中的实际操作带你一步步掌握每个命令的用途、用法和实操技巧并建立清晰的知识框架体系。所有截图要求统一列在文末方便你一次性完成。第一部分Vim编辑器——编辑器之神一、Vim编辑器简介1.1 什么是VimVimVi Improved是Unix/Linux系统中最著名的文本编辑器之一它是Vi编辑器的增强版本。Vim采用控制台图形模式来模拟文本编辑窗口允许用户查看文件中的行、在文件中移动、插入、编辑和替换文本。Vim被誉为编辑器之神以其高效、强大、可扩展而闻名。虽然学习曲线较陡但一旦掌握编辑效率将远超普通编辑器。1.2 安装Vim在Ubuntu发行版中可能需要先安装Vimbash安装Vimsudo apt-get install vim查看Vim软件包的位置which vim查看Vim的详细信息ls -l /usr/bin/vim1.3 基本用法bash使用Vim打开或创建文件vim filename如果指定的是一个不存在的文件名Vim会开辟一段新的缓冲区域来编辑编辑完保存后相当于新建了一个文件。如果指定的是一个已有文件的名字Vim会读取该文件的所有内容放到一段缓冲区域中来准备编辑。二、Vim的三种模式Vim的核心在于它的模式驱动设计它有三种主要模式模式 说明 如何进入普通模式 将按键解释为命令用于移动光标、删除、复制等操作 刚打开文件时默认进入按ESC从其他模式返回插入模式 在光标位置输入文本类似记事本输入 按i、a、o等键命令行模式 输入额外命令控制Vim行为保存、退出、替换等 在普通模式下按:英文冒号 核心口诀普通模式管命令插入模式管打字命令行模式管保存。2.1 普通模式——光标移动命令在普通模式下可以用方向键移动光标。Vim也提供了专用的字符移动命令命令 功能h 左移一个字符j 下移一行k 上移一行l 右移一个字符PageDown 或 CtrlF 下翻一屏PageUp 或 CtrlB 上翻一屏G 移到缓冲区的最后一行gg 移到缓冲区的第一行2.2 插入模式——进入与退出命令 功能i 在光标当前位置进入插入模式a 在光标当前位置之后进入插入模式o 在光标所在行的下方新建一行并进入插入模式ESC 退出插入模式返回普通模式2.3 命令行模式——保存与退出在普通模式下按:进入命令行模式常用命令如下命令 功能:q 如果未修改缓冲区数据退出如有修改则提示:q! 取消所有修改并强制退出不保存:w filename 将文件保存到指定文件名:wq 保存并退出:wq! 保存并强制退出三、Vim高级操作3.1 删除、剪切与粘贴Vim中删除命令会将被删除的文本保存在缓存中可以通过p命令取回实现剪切效果。命令 功能x 删除光标所在位置的字符2x 删除从光标位置开始的两个字符dd 删除光标所在行5dd 删除从光标当前所在行开始的5行p 将缓存中的文本粘贴到光标当前位置之后剪切操作示例bashdd # 删除一行文本同时存入缓存移动光标到目标位置p # 将删除的文本粘贴到光标位置之后实现了剪切3.2 复制与粘贴Vim中的复制命令是yyank意为猛拉即复制。命令 功能y 复制当前光标位置的字符yw 复制一个单词y$ 复制到行尾yy 复制当前行p 粘贴复制的内容可视模式复制多行文本移动光标到要开始复制的位置按下v键进入可视模式移动光标覆盖要复制的文本文本会高亮显示按y键复制移动光标到目标位置按p键粘贴3.3 查找文本在普通模式下按/键进入查找模式bash/待查找的文本 # 从光标位置开始向下查找n # 查找下一个匹配项N # 查找上一个匹配项3.4 替换文本在命令行模式按:下使用替换命令命令 功能/old/new/ 替换当前行中第一个old为new/old/new/g 替换当前行中的所有old为new:n,ms/old/new/g 替换行号n和m之间所有old为new:%s/old/new/g 替换整个文件中的所有old为new:%s/old/new/gc 替换整个文件中的所有old为new每次出现时提示确认第二部分Nano编辑器——轻量之选四、Nano编辑器简介Nano是一个简单易用的控制台文本编辑器适合快速编辑文件。对于Vim感到不适应的新手Nano是很好的入门选择。bash使用Nano打开文件nano filename在Nano编辑器窗口的底部显示了各种控制命令快捷键 功能CtrlX 退出如有修改会提示保存CtrlO 保存文件CtrlG 显示帮助信息CtrlK 剪切当前行CtrlU 粘贴 提示脱字符表示Ctrl键X表示CtrlX。第三部分Shell命令补充五、echo——输出文本与变量echo命令用于在终端中显示文本或变量的值。主要用途在终端显示文本信息输出变量的值生成格式化的字符串向文件追加内容实操演示bash输出普通文本echo “Hello, Linux!”输出变量的值必须使用双引号name“ZhangSan”echo KaTeX parse error: Expected EOF, got # at position 16: name #̲ 输出ZhangSan ec…name’ # 输出$name单引号不会解析变量输出带格式的文本echo -e “Line1\nLine2” # -e启用转义字符\n换行向文件追加内容echo “New line content” file.txt覆盖文件内容echo “New content” file.txt⚠️ 注意若要正常输出变量的值必须使用双引号不能用单引号。六、管道符|管道符|用于将一个命令的输出作为另一个命令的输入实现命令的串联。基本格式bashcommand1 | command2 | command3实操演示bash将echo的输出通过管道传给grep进行筛选echo -e “apple\nbanana\napple\norange” | grep apple查看进程并筛选ps aux | grep sshd查看历史命令并筛选history | grep vim组合使用列出文件并统计行数ls -l | wc -l七、重定向、、重定向用于改变命令的输入和输出方向。7.1 输出重定向 和 符号 功能将输出重定向到文件覆盖原有内容将输出追加到文件末尾2 将错误输出重定向到文件实操演示bash覆盖写入文件echo “First line” test.txtcat test.txt # 输出First line追加内容到文件echo “Second line” test.txtcat test.txt # 输出First line\nSecond line将命令输出保存到文件ls -l file_list.txt错误输出重定向ls /nonexistent 2 error.log7.2 输入重定向用于将文件内容作为命令的输入。实操演示bash将文件内容作为sort的输入sort nums.txt将文件内容作为grep的输入grep “ERROR” test.log将文件内容作为cat的输入cat test.txt 提示输入重定向也可以用管道符实现cat file.txt | command。八、文件合并8.1 paste——列对列合并paste命令将多个文件按列对列的方式合并。实操演示bash创建两个测试文件echo -e “Tom\nJerry\nAlice” names.txtecho -e “25\n22\n27” ages.txt列对列合并paste names.txt ages.txt输出Tom 25Jerry 22Alice 27使用指定分隔符paste -d ‘,’ names.txt ages.txt输出Tom,25Jerry,22Alice,278.2 join——按共同列合并join命令将多个文件中有相同特征的列进行合并类似于数据库中的JOIN操作。实操演示bash创建两个测试文件echo -e “1 Tom\n2 Jerry\n3 Alice” id_names.txtecho -e “1 25\n2 22\n3 27” id_ages.txt按第一列ID合并join id_names.txt id_ages.txt输出1 Tom 252 Jerry 223 Alice 27第四部分知识框架体系 Vim编辑器知识框架textVim编辑器├── 三种模式│ ├── 普通模式命令模式│ │ ├── 光标移动h j k l / gg G / CtrlF CtrlB│ │ ├── 删除x dd│ │ ├── 复制y yw yy│ │ ├── 粘贴p│ │ └── 查找/ 文本│ ├── 插入模式编辑模式│ │ ├── i → 当前位置插入│ │ ├── a → 当前位置之后插入│ │ └── o → 下一行插入│ └── 命令行模式按:进入│ ├── :w 保存│ ├── :q 退出│ ├── :wq 保存并退出│ ├── :q! 强制退出不保存│ └── :%s/old/new/g 全局替换└── 高级操作├── 可视模式v→ 选择文本 → y复制├── 查找/pattern → n下一个└── 替换/old/new/ 范围 Shell补充命令框架textShell补充命令├── echo输出│ ├── echo “文本” → 输出文本│ ├── echo “$变量” → 输出变量值双引号│ └── echo “内容” / 文件 → 写入/追加文件├── 管道符|│ └── command1 | command2 → 前者输出作为后者输入├── 重定向│ ├── → 覆盖写入│ ├── → 追加写入│ ├── 2 → 错误输出重定向│ └── → 输入重定向└── 文件合并├── paste → 列对列合并└── join → 按共同列合并类似数据库JOIN第五部分练习题必做以下练习题来自PPT要求请务必完成。任务使用Vim编辑器创建一个.txt文本文件文件每一行内容参考下图格式可自行仿照创建执行如下操作学习如何进入和退出编辑模式学习如何保存文本查找文本中的所有old字符替换文件中old为test以及只在特定行中进行替换参考操作流程bash1. 创建并打开文件vim test.txt2. 按 i 键进入插入模式输入以下内容old is goodI like old thingsold friends are bestThis is the fourth lineold memories3. 按 ESC 键退出插入模式4. 保存文件按 : 进入命令行模式输入 wq5. 重新打开文件进行查找vim test.txt6. 在普通模式下按 /输入 old回车查找7. 按 n 继续查找下一个8. 替换按 : 进入命令行模式全局替换:%s/old/test/g特定行替换:1,3s/old/test/g第六部分截图清单

相关新闻

Linux文本数据流处理完整知识框架体系

Linux文本数据流处理完整知识框架体系

一、echo 输出显示命令1. 概念理解echo 是Linux最基础的标准输出命令,作用是向标准输出(终端屏幕)打印文本字符串、变量值。它是数据流的“产生器”,经常用来生成测试文本、脚本提示信息,同时可以配合重定向完成文件内…

2026/7/7 11:19:03 阅读更多 →
模型降级策略:服务可用,不等于回答质量可以随便降

模型降级策略:服务可用,不等于回答质量可以随便降

模型降级策略:服务可用,不等于回答质量可以随便降 一、模型降级不能只按价格从高到低切 大模型应用为了控成本和保障可用性,通常会准备多个模型。主模型超时或限额时,切到便宜模型或本地小模型。这个策略有用,但不能简…

2026/7/7 11:19:03 阅读更多 →
实战复现CitrixBleed 2漏洞:从内存越界读取到会话劫持

实战复现CitrixBleed 2漏洞:从内存越界读取到会话劫持

1. 项目概述:一次针对企业核心边界的实战化漏洞复现最近在梳理企业边界设备的安全风险时,我又一次把目光投向了Citrix NetScaler。作为全球范围内广泛应用的应用交付控制器(ADC)和网关设备,它承载着大量企业的关键业务…

2026/7/7 11:15:02 阅读更多 →

最新新闻

鱼叉式钓鱼攻击:从社会工程学到多层防御的实战解析

鱼叉式钓鱼攻击:从社会工程学到多层防御的实战解析

1. 项目概述:从“广撒网”到“精准狙击”的威胁演进在网络安全领域,钓鱼攻击早已不是什么新鲜事。但如果你还停留在“恭喜您中奖了,请点击链接领取”这种群发邮件的印象里,那可能已经落后于攻击者的步伐了。今天要深入探讨的“鱼叉…

2026/7/7 12:11:28 阅读更多 →
基于ComfyUI的AI漫剧制作:8G显存下的零人工干预方案

基于ComfyUI的AI漫剧制作:8G显存下的零人工干预方案

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 最近在B站刷到不少AI生成的漫画剧视频,从角色设计到分镜再到视频合成,全程自动化,效果相当惊艳。但…

2026/7/7 12:09:27 阅读更多 →
上行与下行带宽区别

上行与下行带宽区别

很多朋友在测速时,都会看到两个数字:下载速度和上传速度。有时候,下载速度可以达到900Mbps,而上传速度却只有100Mbps左右;还有些企业申请专线时,运营商会特别说明“上下行对等带宽”。不少人虽然每天都在用…

2026/7/7 12:07:17 阅读更多 →
高压隔离技术:ISOM8710与STM32L4A6RG的安全设计实践

高压隔离技术:ISOM8710与STM32L4A6RG的安全设计实践

1. 高压安全隔离技术概述在工业自动化、医疗设备和电力电子等领域,高压电路与低压控制系统的安全隔离是确保人员和设备安全的关键需求。ISOM8710作为一款高性能数字隔离器,配合STM32L4A6RG低功耗微控制器,能够构建可靠的高压隔离解决方案。典…

2026/7/7 12:07:17 阅读更多 →
听歌不想只发截图?用MusicCard把喜欢的歌做成专属音乐海报

听歌不想只发截图?用MusicCard把喜欢的歌做成专属音乐海报

文章目录1.在极空间一键部署Music Card1.1ssh远程连接到极空间1.2安装docker1.3安装Music Card2.安装cpolar实现随时随地开发3.配置公网地址4.保留固定公网地址总结有些歌适合单曲循环,也适合被认真分享。只是很多时候,我们想表达的不只是“我在听这首歌…

2026/7/7 12:03:16 阅读更多 →
网盘直链下载助手完整指南:告别限速,一键获取真实下载链接

网盘直链下载助手完整指南:告别限速,一键获取真实下载链接

网盘直链下载助手完整指南:告别限速,一键获取真实下载链接 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国…

2026/7/7 11:57:12 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集,从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高:流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广,是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队,往往容易卡在一容易踩坑的选型难题: 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定,必须同时依赖「文本语义理解 实体关系推理」时,到底是做「向量图谱混合检索」就够了,还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻