linux之vim
一、模式转换命令
vim主要有三种模式:命令模式(Normal Mode)、输入模式(Insert Mode)和底线命令模式(Command-Line Mode)。
从命令模式切换到输入模式:i:在当前光标所在位置开始输入文本。a:在当前光标所在位置的下一个字符开始输入文本。o:在当前光标所在行的下方插入一个新行,并进入插入模式。O:在当前光标所在行的上方插入一个新行,并进入插入模式。I:在当前光标所在行的行首开始输入文本。A:在当前光标所在行的行尾开始输入文本。从输入模式切换回命令模式:按下Esc键。从命令模式切换到底线命令模式:在命令模式下按下冒号(:)。
二、光标移动命令
字符间跳转:h:将光标向左移动一个字符。j:将光标向下移动一行。k:将光标向上移动一行。l:将光标向右移动一个字符。单词间跳转:w:移动到下一个单词的开头。e:移动到当前单词或下一个单词的末尾。b:移动到当前单词或上一个单词的开头。行首行尾跳转:^:跳转到当前行的第一个非空白字符。0:跳转到当前行的开头(包括空白字符)。$:跳转到当前行的末尾。行间移动:G:将光标移动到文件的末尾。gg:将光标移动到文件的开头。{行数}G:将光标移动到指定行(例如10G移动到第10行)。
三、编辑命令
删除命令:x:删除当前光标所在处的字符。dd:删除当前行(剪切当前行)。d$:删除从光标当前位置到行尾的内容。d^:删除从光标当前位置到行首的内容(不包括空白字符)。d0:删除从光标当前位置到行首的内容(包括空白字符)。复制命令:yy:复制当前行。p:粘贴剪贴板内容到光标下方。P:粘贴剪贴板内容到光标上方。修改命令(进入输入模式并替换指定内容):c$:从光标当前位置到行尾的内容被删除,并进入输入模式。c^:从光标当前位置到行首的内容(不包括空白字符)被删除,并进入输入模式。c0:从光标当前位置到行首的内容(包括空白字符)被删除,并进入输入模式。cw:删除当前单词并进入输入模式。ce:删除从光标当前位置到当前单词末尾的内容,并进入输入模式。cb:删除从光标当前位置到上一个单词开头的内容,并进入输入模式。cc:删除整行并进入输入模式。撤销和重做:u:撤销上一次操作。Ctrl+r:重做上一个被撤销的操作。
四、底线命令模式命令
在底线命令模式下,可以输入一些特定的命令来执行文件操作、搜索替换等。
文件操作::w:保存文件。:q:退出vim。:wq:保存文件并退出vim。:q!:不保存并强制退出vim。搜索替换:/pattern:从当前光标所在处向文件尾部查找指定的模式(pattern)。?pattern:从当前光标所在处向文件首部查找指定的模式(pattern)。n:查找下一个匹配项。N:查找上一个匹配项。:%s/old/new/g:在整个文件中将old替换为new(全局替换)。其他命令::set nu:显示行号。:set nonu:隐藏行号。:noh:取消搜索后的高亮显示。
五、可视模式命令
可视模式用于选择文本并进行批量操作。
进入可视模式:v:按字符选定。V:按行选定。Ctrl+v:进入可视块模式。操作选定文本:y:复制选定的文本块到缓冲区。d:剪切选定的文本块到缓冲区。
六、其他常用命令
重复上一个命令:.翻屏操作:Ctrl+f:向文件尾部翻一屏。Ctrl+b:向文件首部翻一屏。Ctrl+d:向文件尾部翻半屏。Ctrl+u:向文件首部翻半屏。多文件操作:在vim后同时输入多个文件名,例如vim file1 file2,可以在vim中同时打开多个文件。:next或:n:打开下一个文件。:prev:打开上一个文件。:ls:列出打开的文件。:buffer N:切换到第N个文件。窗口分割:Ctrl+w, s或:split:水平分割窗口。Ctrl+w, v或:vsplit:垂直分割窗口。Ctrl+w, w:切换到下一个窗口。Ctrl+w, j或Ctrl+w, k:在水平分割的窗口中切换。Ctrl+w, h或Ctrl+w, l:在垂直分割的窗口中切换。定制vim的工作特性:可以通过修改配置文件(如全局的/etc/vimrc或个人的~/.vimrc)来永久定制vim的工作特性。在vim中,也可以使用:set命令来临时修改一些设置,例如:set ai启用自动缩进,:set noai禁用自动缩进。
相关文章:
linux之vim
一、模式转换命令 vim主要有三种模式:命令模式(Normal Mode)、输入模式(Insert Mode)和底线命令模式(Command-Line Mode)。 从命令模式切换到输入模式:i:在当前光标所在…...
QT的ui界面显示不全问题(适应高分辨率屏幕)
//自动适应高分辨率 QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);一、问题 电脑分辨率高,默认情况下,打开QT的ui界面,显示不全按钮内容 二、解决方案 如果自己的电脑分辨率较高,可以尝试以下方案:自…...
数据结构--串、数组和广义表
串 定义:串(String)是由零个或多个字符组成的有限序列。 子串:串中任意个连续字符组成的子序列称为该串的子串。 主串:包含子串的串相应地称为主串。 字符位置:字符在该序列中的序号为该字符在串中的位置…...
LLMs之Agent之Lares:Lares的简介、安装和使用方法、案例应用之详细攻略
LLMs之Agent之Lares:Lares的简介、安装和使用方法、案例应用之详细攻略 导读:这篇博文介绍了 Lares,一个由简单的 AI 代理驱动的智能家居助手模拟器,它展现出令人惊讶的解决问题能力。 >> 背景痛点:每天都有新的…...
1-1.mysql2 之 mysql2 初识(mysql2 初识案例、初识案例挖掘)
一、mysql2 概述 mysql2 是一个用于 Node.js 的 MySQL 客户端库 mysql2 是 mysql 库的一个改进版本,提供了更好的性能和更多的功能 使用 mysql2 之前,需要先安装它 npm install mysql2 二、mysql2 初识案例 1、数据库准备 创建数据库 testdb CREAT…...
企业邮箱为什么不能经常群发邮件?
企业邮箱是用企业域名作为后缀的邮箱,虽然企业邮箱确实具备群发邮件的功能,但它更适用于企业内部的群发,而非用于外部推广。如果是在企业邮件域内进行群发,通常可以借助企业邮箱的邮件列表来实现。然而,对于域外的大量…...
集成运算放大电路反馈判断
集成运算放大电路 一种具有很高放大倍数的多级直接耦合放大电路,因最初用于信号运算而得名,简称集成运放或运放 模拟集成电路中的典型组件,是发展最快、品种最多、应用最广的一种 反馈 将放大电路输出信号的一部分或全部通过某种电路引回到输…...
媒体查询、浏览器一帧渲染过程
文章目录 媒体查询语法示例根据视口宽度应用不同的样式根据设备像素比应用不同的样式根据方向应用不同的样式 使用场景 浏览器一帧的渲染过程 媒体查询 媒体查询(Media Query)是CSS3中的一个重要特性,它允许开发者根据设备的特定条件&#x…...
高级排序算法(一):快速排序详解
引言 当我们处理大规模数据时,像冒泡排序、选择排序这样的基础排序算法就有点力不从心了。这时候,快速排序(Quick Sort)就派上用场了。 作为一种基于分治法的高效排序算法,快速排序在大多数情况下可以在O(n log n)的时…...
3.2 网络协议IP
欢迎大家订阅【计算机网络】学习专栏,开启你的计算机网络学习之旅! 文章目录 1 定义2 虚拟互连网络3 分组在互联网中的传送4 IPv4 地址 1 定义 网际协议 IP是 TCP/IP 体系中两个最主要的协议之一,也是最重要的互连网协议之一。IPv4 和 IPv6 …...
2024 一带一路暨金砖国家技能发展与技术创新大赛【网络安全防护治理实战技能赛项】样题(中职组)
2024 一带一路暨金砖国家技能发展与技术创新大赛【网络安全防护治理实战技能赛项】样题(中职组) 1.基础设置和安全强化(xxx 分)1.3. 任务内容: 2.安全监测和预警(xxx 分)2.1. 任务一:建立目录安…...
excel如何让单元格选中时显示提示信息?
现象: 当鼠标放在单元格上,会出现提示信息: 先选中单元格选择上方的【数据】-【数据验证】图标选择【输入信息】勾上【选定单元格时显示输入信息】输入【标题】,如:最上方图中的:姓名:输入【输…...
oscp备考,oscp系列——Kioptix Level 3靶场
Kioptix Level 3 oscp备考,oscp系列——Kioptix Level 3靶场 nmap扫描 主机发现 └─# nmap -sn 192.168.80.0/24 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-09 00:33 CST Nmap scan report for 192.168.80.1 Host is up (0.00014s latency). MAC…...
信创改造-达梦数据库配置项 dm.ini 优化
设置模式:兼容MySQL,COMPATIBLE_MODE 4 内存占比:90%,MAX_OS_MEMORY 90 目标内存:2G(不影响申请内存超过2G,但这部分内存不会回收),MEMORY_TARGET 2000 参考 https:…...
日本IT-需要掌握哪些技术框架?一篇通读
在日本从事IT工作,需要掌握的技术框架与全球范围内的趋势相似,但也有一些特定的技术和框架在日本更为流行。以下是一些在日本IT行业中常用的技术框架: Java后端 Java语言:Java在日本是一门非常稳定且受欢迎的编程语言࿰…...
错题:Linux C语言
题目:手写代码:判断一个数(int类型的整数)中有有多少1 题目:手写代码:判断一个数(转换成二进制表示时)有几个1 #include <stdio.h> int main(int argc, const char *argv[]) { //判断一个数…...
多表设计-一对多一对多-外键
一.多表设计概述: 二.一对多: 1.需求: 根据 页面原型 及 需求文档,完成部门及员工模块的表结构设计 -->部门和员工就是一对多,因为一个部门下会有多个员工,但一个员工只归属一个部门 2.页面原型&…...
Ch1:古今的manipulation与仿真、ROS和Drake介绍
不同的机器人研究与仿真 以前(15年左右)只能用仿真环境训练行走机器人,对于manipulation任务,有两个问题:1)相机不真实;2)接触行为太复杂。 I remember just a few years ago (~201…...
JAVA秋招面试题精选-第一天总结
目录 分栏简介: 问题一:订单表每天新增500W条数据,分库分表应该怎么设计? 问题难度以及频率: 问题导向: 满分答案: 举一反三: 问题总结: 问题二:解释…...
服务器卸载安装的 Node.js
卸载安装的 Node.js 版本,具体步骤取决于你是通过包管理器(如 yum 或 dnf)安装的,还是通过 nvm (Node Version Manager) 安装的。以下是针对这两种情况的指南。 通过包管理器卸载 Node.js 如果你是通过 yum 或 dnf 安装的 Node.…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...
嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...
电脑桌面太单调,用Python写一个桌面小宠物应用。
下面是一个使用Python创建的简单桌面小宠物应用。这个小宠物会在桌面上游荡,可以响应鼠标点击,并且有简单的动画效果。 import tkinter as tk import random import time from PIL import Image, ImageTk import os import sysclass DesktopPet:def __i…...
GeoServer发布PostgreSQL图层后WFS查询无主键字段
在使用 GeoServer(版本 2.22.2) 发布 PostgreSQL(PostGIS)中的表为地图服务时,常常会遇到一个小问题: WFS 查询中,主键字段(如 id)莫名其妙地消失了! 即使你在…...
