Liunx 命令行与shell脚本编程大全 第五章学习笔记(Vim 编辑器使用详解 解释+图示)

本文介绍了Vim编辑器的基础知识,包括操作模式、文本编辑、复制粘贴及查找替换等功能,帮助初学者快速掌握Vim的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作为一个Linux 菜鸟中的老鸟!!你必须熟悉一种linux上的编辑器,vim、Emacs、KDE、GNOME,随便你喜欢哪一种,今天我就总接下Vim的使用详解,,这样你就可以快速的在命令行下使用键盘修改文件(少碰鼠标可以提高X格)。

GUN项目将vi编辑器移植到开源世界时就注定我们要记命令!!


1. Vim 基础

    Vim编辑器在内存缓冲区中处理数据。启动Vim编辑器,若未指定文件名,Vim会新开一段缓冲区域来编辑,若是文件已经存在Vim会将文件的整个内容都读到缓冲区准备编辑。最初Vim编辑窗口显示了文件内容,并在窗口底部显示一条消息行。如果文件内容未占满整个屏幕,Vim会在非文件内容行放置一个波浪线。



 底部的消息行显示了在编辑文件的信息,根据文件状态以及Vim安装时的默认设置,如果文件是新建的,会出现[New

 File]。

    Vim编辑器有两种操作模式:

        普通模式;

        插入模式;

当你打开要编辑的文件时(或新建一个文件时),Vim会进入普通模式。在普通模式中,Vim编辑器会将按键解释成命令。

在插入模式下,Vim会将当前光标位置中输入的每一个健都插入到缓冲区中。(进入插入模式按i即可,退出Esc)

在普通模式中,可以使用方向键在文本中移动光标.如果恰巧在一个古怪的没有定义方向键的终端连接上,Vim命令中有用来移动光标的命令。

h:左移一个字符

j:下移一行

k:上一一行

l:右移一个字符

在大的文本文件中一行一行的移动会特别的麻烦,Vim提供了一些命令来帮助提高速度:

PageDown(Ctrl+F):下翻一屏数据

PageUp(Ctrl+B):上翻一屏数据

G:移到缓冲区最后一行

num G:移动到缓冲区第num行

gg:移动到缓冲区第一行

Vim编辑器在普通模式下有一个特别的功能叫命令行模式。命令行模式提供了一个可供输入额外的命令来控制Vim中行为的交互命令行,要进入命令行模式,在普通模式下按下冒号件,光标就会移动到消息行,冒号出现了,等待输入命令。

在命令行模式下有几个命令将缓冲区的数据保存到文件中 并退出vim:

q:如果未修改缓冲区数据,退出;

q!:取消对缓冲区数据的修改并退出;

 w filename:将文件保存到另一个文件名下;

wq:将缓冲区中数据保存到文件中并退出;


2、编辑数据

在插入模式下,可以向缓冲区插入数据,然而有时你需要在将数据输入到缓冲区后添加或删除;

在普通模式下,Vim编辑器提供了一些命令来编辑缓冲区中的数据;

                                                       vim 编辑命令(普通模式下)

--------------------------------------------------------------------------------------------------------------------------------------------------

命令                                        描述

x                                        删除当前光标所在位置的字符;

dd                                     删除当前光标所在行;

dw                                     删除当前光标所在位置的单词;

d$                                     删除当前光标所在位置至行尾的内容;

J                                        删除当前光标所在行行尾的换行符(拼接行);

u                                       撤销前一编辑命令;

a                                       在当前光标后追加数据;

A                                       在当前光标所在行行尾追加数据;

r char                                用char替换当前光标所在位置的单个字符;

R text                                用text覆盖当前光标所在位置的数据,知道按下ESC健

-------------------------------------------------------------------------------------------------------------------------------------------------

有些编辑命令允许使用数字修饰符来之定重复该命令多少次,比如,命令2x会删除从光标当前位置开始的两个字符,命令5dd会删除从光标当前所在行开始的5行。


3、复制和粘帖

剪切和粘帖相对比较容易些。在上面的讲述中你可以看到删除命令,但在Vim删除数据时,实际上它会将数据保存在单独的一个寄存器中,可以使用p命令取回数据。

eg:使用dd命令删除一行文本,然后将光标移动到缓冲区中某个要放置该行文本的地方,输入p命令,p命令就会将文本插入到当前光标所在之后的行,p可以和任何删除命令一起搭配使用。

复制文本则比较复杂一点,Vim中的复制命令是 y(yank), 你可以与y使用和d命令相同的第二字符(yw表示复制单词,y$表示复制到行尾),在复制文本后将光标移动到想放置文本的地方,输入p命令,复制的文本就会出现在该位置。--------------->复制的复杂指出在于,由于不会影响到你复制的文本,就没有办法看见到底是怎么操作的,所以很难确定到底复制了什么,知道粘帖操作之后才能明白,但是vim有另外一个功能解决这个问题。

可视模式:会在移动光标时高亮显示文本,所以可以用可视模式来选取要复制的文本,要进入可视模式,移动光标到要开始复制的位置,并按下v健。这是光标所在位置的文本已经被高亮显示了,下一步只需要移动光标覆盖想要复制的文本即可,在覆盖了想要复制的文本后,按下y健来激活复制命令。现在寄存器中已经有了要复制的文本,移动光标到

你要放置的位置,使用p命令粘帖。

1、在普通模式下,按下v健,并移动光标复制文本,y激活复制命令


2、p命令执行粘帖



4、查找和替换

使用Vim命令轻松的查找缓冲区中的数据。要输入一个查找字符串,按下/,光标会跑到消息行。然后Vim会显示斜线,输入要查找的文本,按下回车,vim会有回应。

继续查找下一个单词。使用n(next)。

替换命令可以快速替换单词:

命令行模式下替换命令的格式

-------------------------------------------------------------------------------------------------------------------------------------

:s/old/new/            vim会跳到old第一次出现的地方并用new来替换

:s/old/new/ g         替换所有old

:n,ms/old/new/g       替换行号n和m之间的所有old

:%s/old/new/ g         替换整个文件中所有old

:s/old/new/ gc         替换整个文件中所有old,并在每次出现时提示。



上面是一些基本的vim使用命令,需要熟记,这样可以快速编辑文本。

参考:linux命令行与shell脚本编程大全。


内容概要:本文详细介绍了Rust在系统编程中的应用,包括基础知识、核心技术及开发流程。首先阐述了Rust语言的基础及环境搭建,强调了其强类型系统和现代语法。接着深入探讨了所有权机制内存安全,指出Rust通过所有权系统确保内存安全,避免悬垂指针和内存泄漏。再者,讲解了Rust的并发编程模型,通过消息传递和无数据竞争的线程模型实现安全并发。此外,讨论了Rust在底层硬件访问嵌入式开发中的应用,展示了其在资源受限平台上的适应性。随后,介绍了系统调用内核模块开发,说明了Rust如何调用操作系统底层API并实现现有内核代码的无缝集成。还提及了性能优化调试技巧,如使用编译器优化选项和工具链支持。最后,通过实战项目案例解析和社区资源展望,展示了Rust在系统编程领域的潜力和发展前景。; 适合人群:有一定编程基础,尤其是对系统编程感兴趣的开发者,包括操作系统内核开发、驱动程序编写、嵌入式系统开发等领域的工程师。; 使用场景及目标:①学习Rust语言的基础知识和环境搭建,掌握强类型系统和现代语法;②理解所有权机制内存安全,避免传统系统编程中的常见错误;③掌握并发编程模型,实现安全高效的多线程操作;④了解底层硬件访问和嵌入式开发,适应资源受限平台;⑤掌握系统调用内核模块开发,实现现有系统的无缝集成;⑥学习性能优化调试技巧,提高系统软件的运行效率和稳定性;⑦通过实战项目案例解析,掌握系统编程的实际应用。; 其他说明:Rust作为系统编程的新选择,不仅提升了传统系统软件的安全性,还通过现代语言特性和工具链优化了开发效率。开发者应充分利用Rust的特性,构建更加健壮、高效的系统软件,迎接未来计算机领域的新挑战。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值