linux之vim

news/2024/12/12 20:54:22/

一、模式转换命令

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禁用自动缩进。

http://www.ppmy.cn/news/1554200.html

相关文章

【kafka】常用基础命令使用案例

以下是 Kafka 常用命令的详细汇总,包含了常见的操作命令以及使用案例,表格形式方便查看 命令功能命令格式使用案例查看 Kafka 版本查看 Kafka 的版本信息bin/kafka-topics.sh --version获取 Kafka 版本信息: bin/kafka-topics.sh --version创…

应用案例 | 船舶海洋: 水下无人航行器数字样机功能模型构建

水下无人航行器数字样机功能模型构建 一、项目背景 为响应水下装备系统研制数字化转型及装备系统数字样机建设的需要,以某型号水下无人航行器(Underwater Unmanned Vehicle,UUV)为例,构建UUV数字样机1.0功能模型。针对…

今日商协丨商协会在“双循环”新发展格局中的作用

在当今全球经济环境中,世界格局正在经历深刻变化,中国正在全面构建“双循环”新发展格局,以实现更高质量、更可持续的发展。在这一过程中,商协会发挥着不可或缺的作用。 商协会在国内大循环中扮演促进者的角色,不仅活…

Python中的协程并发:从asyncio基础到自定义任务调度器的完整指南

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 协程是Python中处理并发任务的关键特性,它通过非阻塞的方式管理I/O密集型任务和其他耗时操作。本篇文章从asyncio模块入手,深入剖析协程的工作原理,包括事件循环、任务和同步工具的使用。在此基础上,我…

spark-submit命令总览

pyspark 可以使用pyspark 命令在服务器黑窗口中进行spark代码的编写 pyspark --master local[2] 本地模式 pyspark --master spark://bigdata01:7077 standalone模式 pyspark --master yarn yarn模式// 启动一个黑窗口 进行任务的编写 spark-submit #提交任务…

Kali Linux超详细安装教程(附镜像)

一、镜像获取(任选其一) 1.kali 官网 http://old.kali.org/kali-images/ http://old.kali.org/kali-images/kali-2021.1/kali-linux-2021.1-installer-amd64/ ​ 2.阿里镜像站 https://mirrors.aliyun.com/kali-images/ ​ 3.(建议使用&#…

AUTOSAR CP R24-11 Crypto Interface中的CryIf_ProcessJob详细介绍

一、CryIf_ProcessJob函数介绍 CryIf_ProcessJob 是 AUTOSAR Crypto Interface (CRYIF) 中的一个关键函数,用于提交加密任务给底层的加密驱动程序(如 HSM 或 SHE)。它提供了一个统一的接口来执行各种加密操作,并支持同步和异步模…

异步操作、Promise和axios

1.Javascript是单线程的 什么是进程,什么是线程? 进程:进程是操作系统分配资源和调度的基本单位。它是一个程序的实例,包含了运行程序所需的代码和数据以及其它资源。 线程:线程是进程中的实际运行单位,也是…