【Linux系统 01】Vim工具
目录
一、Vim概述
1. 文件打开方式
2. 模式切换
二、命令模式
1. 移动与跳转
2. 复制与粘贴
3. 剪切与撤销
三、编辑模式
1. 插入
2. 替换
四、末行模式
1. 保存与退出
2. 查找与替换
3. 分屏显示
4. 命令执行

一、Vim概述
1. 文件打开方式
-
vim 文件路径:尽量用Tab补全文件名,若文件不存在则新建
-
vim +行数 文件路径:打开文件时,光标移动到指定行
-
vim +/关键字 文件路径:打开文件时,关键字高亮显示
2. 模式切换
-
命令模式 -> 编辑模式:a/A、i/I、o/O、r/R
-
命令模式 -> 末行模式:英文的冒号(Shift ;)
-
编辑模式 -> 命令模式:Esc
-
末行模式 -> 命令模式:Esc
-
编辑模式和末行模式相互转换:通过命令模式中转
二、命令模式
1. 移动与跳转
| 指令 | 作用 |
|---|---|
| h、← | 左移 |
| l、→ | 右移 |
| k、↑ | 上移 |
| j、↓ | 下移 |
| ^ | 行首 |
| $ | 行尾 |
| gg | 文件首行 |
| G | 文件末行 |
| nG | 文件第n行 |
| w、W | 下一单词 |
2. 复制与粘贴
| 指令 | 作用 |
|---|---|
| yy | 复制一行 |
| nyy | 复制n行 |
| y^ | 复制光标处到行首 |
| y$ | 复制光标处到行尾 |
| yw | 复制一个单词 |
| ynw | 复制n个单词 |
| yG | 复制到文件尾 |
| y1G | 复制到文件首 |
| p | 粘贴到下一行 |
| P | 粘贴到上一行 |
3. 剪切与撤销
| 指令 | 作用 |
|---|---|
| x | 剪切一个字符 |
| nx | 剪切n个字符 |
| X | 剪切光标前一个字符 |
| dd | 剪切一行 |
| ndd | 剪切n行 |
| d^ | 剪切到行首 |
| d$ | 剪切到行尾 |
| dG | 剪切到文件尾 |
| d1G | 剪切到文件首 |
| dw | 剪切一个单词 |
| u | 撤销上一次操作 |
| U | 撤销一行内的操作 |
三、编辑模式
1. 插入
| 指令 | 作用 |
|---|---|
| a | 光标后插入 |
| A | 行末插入 |
| i | 光标前插入 |
| I | 行首插入 |
| o | 下一行插入 |
| O | 上一行插入 |
2. 替换
| 指令 | 作用 |
|---|---|
| r | 替换一个字符 |
| R | 进入替换模式 |
| Ctrl r | 撤销的恢复 |
在编辑模式下,底行会提示当期是“Insert模式”还是“Replace模式”。
四、末行模式
1. 保存与退出
| 指令 | 作用 |
|---|---|
| :w | 保存 |
| :q | 退出 |
| :! | 强制执行 |
| :wq | 保存并退出 |
| :q! | 强行退出,不保存新修改 |
| :e 文件名 | 在原始窗口中打开新文件,旧文件保存 |
| :e! | 放弃所有更改,重新编辑 |
| :r 文件名 | 在光标下一行插入文件内容 |
2. 查找与替换
| 指令 | 作用 |
|---|---|
| :set nu | 显示行号 |
| :数字n | 将光标移动到第n行 |
| :/关键字 | 从文件头开始查找关键字,按n找下一个 |
| :?关键字 | 从文件末开始查找关键字,按n找下一个 |
| :s/str1/str2/p | 当前行str1替换成str2 |
| :%s/str1/str2/p | 所有行str1替换成str2 |
3. 分屏显示
| 指令 | 作用 |
|---|---|
| :vs 文件名 | 分屏显示 |
| :qall | 退出所有文件,不保存 |
| :wqall | 保存并退出所有文件 |
| :ctrl ww | 切换分屏 |
4. 命令执行
| 指令 | 作用 |
|---|---|
| :!命令 | 执行一条命令 |
| :↑ | 查看上条命令 |
| :↓ | 查看下条命令 |
在不同的Linux系统中,末行模式执行命令的格式不一致,比如 :!cmd 命令1 和 :!command 命令2
相关文章:
【Linux系统 01】Vim工具
目录 一、Vim概述 1. 文件打开方式 2. 模式切换 二、命令模式 1. 移动与跳转 2. 复制与粘贴 3. 剪切与撤销 三、编辑模式 1. 插入 2. 替换 四、末行模式 1. 保存与退出 2. 查找与替换 3. 分屏显示 4. 命令执行 一、Vim概述 1. 文件打开方式 vim 文件路径&#…...
Oracle 面试题 | 09.精选Oracle高频面试题
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...
基于Springboot的校园失物招领网站(有报告)。Javaee项目,springboot项目。
演示视频: 基于Springboot的校园失物招领网站(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…...
WPF布局面板
StackPanel StackPanel 是一种常用的布局控件,可以支持水平或垂直排列,但不会换行。当子元素添加到 StackPanel 中时,它们将按照添加的顺序依次排列。默认情况下,StackPanel 的排列方向是垂直的,即子元素将从上到下依次排列。可以使用 Orientation 属性更改排列方向。可以…...
灵活应对:策略模式在软件设计中的应用
策略模式是一种行为型设计模式,它允许定义一系列算法,并将每个算法封装起来,使它们可以互换使用。策略模式让算法的变化独立于使用算法的客户端,使得在不修改原有代码的情况下切换或扩展新的算法成为可能。 使用策略模式的场景包…...
eosio.token 智能合约介绍
一、目的 eosio.token系统合约定义了允许用户为基于EOSIO的区块链创建、发行和管理代币的结构和操作,它演示了一种实现允许创建和管理代币的智能合约的方法。本文详细介绍了eosio.token系统合约并在本地测试链上实际发行了代币进行演示,适用于EOS智能合…...
3D 转换
1,3D的特点: 近小远大 物体后面遮挡不可见 2,3D移动 translate3d 3D移动在2D移动的基础上多加了一个可以移动的方向,就是z轴方向 transform:translateX(100px):仅仅是在x轴上移动…...
AI智能语音机器人安装方法
销售型的企业,基本靠电话营销拓客来实现效益的最大化。因为电销人员离职率高,且需求量大,需要接连不断的招人来实现业绩目标,电话机器人,贴牌招商,复制多个账户 这些都意味的企业的投入成本越来越大,博主从事多年AI技术…...
Python 潮流周刊#38:Django + Next.js 构建全栈项目
△△请给“Python猫”加星标 ,以免错过文章推送 你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。本周刊开源,欢迎投稿[1]。另有电报频道[2]作为副刊,补充发布更加丰富的资讯,…...
Jenkins升级后,构建任务配置界面重复错位
最近我把公司的Jenkins服务升级到了最新版本,升级完成后,点了一下构建任务,发现能够构建成功,就以为顺利完成升级了,下班走了,结果第二天,进入构建任务配置界面发现,界面一团乱麻&am…...
Python基础学习 -07 运算符
Python 运算符 运算符用于对变量和值执行操作。 Python 在以下组中划分运算符: 算术运算符赋值运算符比较运算符逻辑运算符身份运算符成员运算符位运算符 Python 算术运算符 算术运算符与数值一起使用来执行常见的数学运算: 运算符名称实例加x y-…...
Nim游戏
文章目录 题目描述输入格式输出格式 结论程序代码 题目描述 给定 n 堆石子,两位玩家轮流操作,每次操作可以从任意一堆石子中拿走任意数量的石子(可以拿完,但不能不拿),最后无法进行操作的人视为失败。 问…...
Pytorch: torch.linspace等间隔数值函数
torch.linspace 是 PyTorch 提供的一个用于生成等间隔数值的函数。具体而言,torch.linspace 会在指定的区间内生成指定数量的等间隔数值。 torch.linspace(start, end, steps100, dtypeNone, layouttorch.strided, deviceNone, requires_gradFalse)参数说明&#x…...
【C++】案例:数列求和 与 条件筛选
1.数列求和 题目: 设计一个程序,要求对数列2471116……n的前n项求和, 例如输入3,输出13; 输入6,输出62。 答案: #include <iostream>int main() {int n;std::cout << "请输入一个正…...
问题:下列哪些属于历史文化资源的特征( ). #学习方法#学习方法
问题:下列哪些属于历史文化资源的特征( ). A、稀缺性 B、脆弱性 C、可再生性 D、多样性 参考答案如图所示...
大数据 - Spark系列《四》- Spark分布式运行原理
Spark系列文章: 大数据 - Spark系列《一》- 从Hadoop到Spark:大数据计算引擎的演进-CSDN博客 大数据 - Spark系列《二》- 关于Spark在Idea中的一些常用配置-CSDN博客 大数据 - Spark系列《三》- 加载各种数据源创建RDD-CSDN博客 目录 🍠…...
Java使用规范
1.关键字 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词) 特点:关键字中的所有字母都是小写 2.保留字 java保留字:现有Java版本尚未使用,但以后的版本可能会作为关键字使用。命名标识符时要避免使用这些…...
Debian 11 安装并开启SSH服务实现允许root用户使用SecureCRT远程登录
Debian11系统默认没有安装SSH服务,如需要开启远程登录则需要安装相应的服务。 确保你已经登录到Debian系统,并具有root用户或sudo特权。 打开终端,并使用以下命令安装OpenSSH服务器软件包: sudo apt update sudo apt install ope…...
Linux下对线程的理解(上)
1、线程的概念 要理解线程首先要理解页表和进程地址空间,我是这样子理解的,1、进程地址空间是进程访问资源的窗口。2、页表是规定进程地址空间中哪些属于进程。3、合理的使用进程地址空间页表可以对资源进行划分。而如何理解进程呢?进程是接受…...
【蓝桥杯】环形链表的约瑟夫问题
目录 题目描述: 输入描述: 输出描述: 示例1 解法一(C): 解法二(Cpp): 正文开始: 题目描述: 据说著名犹太历史学家 Josephus 有过以下故事&a…...
深入浅出理解注意力机制:原理、实战、应用及训练与推理阶段差异
深入浅出理解注意力机制:原理、实战、应用及训练与推理阶段差异 摘要:注意力机制是深度学习领域的核心创新,更是Transformer架构的灵魂,其灵感源自人类的“选择性关注”能力,解决了传统模型长距离依赖捕捉不足、并行计…...
卡证检测矫正模型惊艳案例:护照芯片区域反光消除+四角点亚像素定位
卡证检测矫正模型惊艳案例:护照芯片区域反光消除四角点亚像素定位 你有没有遇到过这样的烦恼?用手机拍身份证、护照或者驾照,准备上传办理业务时,系统总是提示“照片不清晰”、“证件边缘不完整”或者“请拍摄正面照”。尤其是护…...
如何用3步永久保存QQ空间回忆?GetQzonehistory全攻略
如何用3步永久保存QQ空间回忆?GetQzonehistory全攻略 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否担心过QQ空间里那些承载青春记忆的说说会突然消失?Ge…...
插件语言转换解决方案:让Obsidian插件无缝支持中文界面
插件语言转换解决方案:让Obsidian插件无缝支持中文界面 【免费下载链接】obsidian-i18n 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-i18n obsidian-i18n(国际化缩写)是一款专为中文用户设计的Obsidian插件翻译工具&#…...
Unity URP描边效果:5分钟为游戏角色添加专业轮廓
Unity URP描边效果:5分钟为游戏角色添加专业轮廓 【免费下载链接】Unity-URP-Outlines A custom renderer feature for screen space outlines 项目地址: https://gitcode.com/gh_mirrors/un/Unity-URP-Outlines Unity URP Outlines 是一款专为Unity Univers…...
WebDataset商业应用:企业级深度学习项目的数据管理策略
WebDataset商业应用:企业级深度学习项目的数据管理策略 【免费下载链接】webdataset A high-performance Python-based I/O system for large (and small) deep learning problems, with strong support for PyTorch. 项目地址: https://gitcode.com/gh_mirrors/w…...
开源工具:多平台支持的网盘高效下载技术指南
开源工具:多平台支持的网盘高效下载技术指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅…...
Multisim仿真NE555驱动MOS管总报错?手把手教你调整收敛参数搞定它
Multisim仿真中NE555驱动MOS管报错的深度解决方案 在电子电路仿真领域,Multisim作为一款功能强大的工具,被广泛应用于教学和工程实践中。然而,当涉及到非线性元件如MOSFET与NE555定时器结合使用时,许多工程师和学生都会遇到一个令…...
从灰度世界到边缘检测:4种AWB算法MATLAB实现对比(附完整代码)
从灰度世界到边缘检测:4种AWB算法MATLAB实现对比(附完整代码) 在工业级图像信号处理(ISP)流水线中,自动白平衡(AWB)算法是确保色彩还原准确性的关键技术。不同场景下的色温变化会导致…...
Claude Code交互日志分析:用BERT分割理解AI编程助手的对话逻辑
Claude Code交互日志分析:用BERT分割理解AI编程助手的对话逻辑 你有没有想过,当你向Claude Code这样的AI编程助手提问时,它到底是怎么理解你那一长串话的?比如,你可能会一口气问:“帮我写个Python函数来读…...
