Linux编辑器-vim使用

embedded/2024/9/24 10:21:40/

💖作者:对自己好点儿i
❤️‍🩹作者宣言:认真写好每一篇博客

目录

前言

vim%E4%BD%BF%E7%94%A8-toc" style="margin-left:0px;">一、Linux编辑器-vim使用

命令模式 

:set nu 显示行号

yy + p  复制粘贴

n+p

u:撤销

dd + p  剪切 粘贴

n+dd +p 

shift + 4= $:将光标定位到当前行的结尾

shift + = ^:将光标定位到当前行开始

gg:将光标定位到文本的最开头

shift +g =G:将光标定位到文本的结尾

n shift g 定位到第n行(55 shift g 定位到第55行)

h,j,k,l  左,下,上,右( n h j k l)

​编辑

​编辑

w:按照单词为单位后移

b:按照单词为单位前移

shift+~  [大小写转换]

x从后往前删

n+x

shift+x:删除之前的

n+shift+x

r:对光标指定的位置,进行一个字符的替换

shift + r=R 直接进行文本替换

插入模式

底行模式

高亮::/[hello]

! commmand 不退出操作

:vs test.h可以分屏

CTRL ww 界面之间切换

shift+zz 保存并退出


前言

vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是 vim vi 的升级版本,它不仅兼容 vi 的所有指令,而且 还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于xwindow mac os、windows。

vim%E4%BD%BF%E7%94%A8">一、Linux编辑器-vim使用

vim是一个多模式的编辑器->文本编写->写代码,大家再之前可能听过vi,vim是vi的升级版本,他兼容vi的所有指令,对于vim,我们又许多模式,但是我i们今天重点介绍其中最常用的三种模式:命令模式,插入模式,底层模式,接下来我们先vim一个test.c文件

vim test.c

此时我们默认刚进来是命令模式,我们没有办法再里面进行写文本信息的,原因是:用户所有输入的东西都会呗当成命令,一般不会作为文本输入,这个时候我们就需要切换到我们的插入模式按一下键盘的 i键,此时就会出现下面的样子,就可以进行文本输入了,我们再里面随便写一个简单的C代码

然后输入wq按回车就保存退出了

命令模式 

:set nu 显示行号

我们输入:set nu  会把每一行的行号写下来

yy + p  复制粘贴

我们把指针放到随便一行  yy  p一下就会实现复制粘贴功能

n+p

 也可以 10p 对指针在的哪一行进行10倍的复制粘贴

10 p

u:撤销

也可以使用:u 撤销对刚的操作

dd + p  剪切 粘贴

dd:剪切 

n+dd +p 

 10dd

shift + 4= $:将光标定位到当前行的结尾

shift + = ^:将光标定位到当前行开始

gg:将光标定位到文本的最开头

shift +g =G:将光标定位到文本的结尾

n shift g 定位到第n行(55 shift g 定位到第55行)

h,j,k,l  左,下,上,右( n h j k l)

w:按照单词为单位后移

b:按照单词为单位前移

shift+~  [大小写转换]

x从后往前删

n+x

shift+x:删除之前的

n+shift+x

r:对光标指定的位置,进行一个字符的替换

shift + r=R 直接进行文本替换

插入模式

i

a

o

底行模式

shift+:  wq  退出

写入新的内容直接不保存退出

w:保存

q:退出

wq:保存并退出

q!:强制退出

wq!:保存强制退出

高亮::/[hello]

! commmand 不退出操作

:vs test.h可以分屏

CTRL ww 界面之间切换

shift+zz 保存并退出

vim配置

 1.原理

vim不是简单的直接执行可执行程序就行,也会读取若干配置文件,.vimrc

在根目录新建一个.vimrc
touch .vimrc

vim .vimrc

输入代码
set nu

下次再进来

vim test.c

就会显示行号

2.一键配置

支持环境

目前只支持 Centos7 x86_64. 后面会考虑 Ubuntu 等发行版的支持.

安装方法

在 shell 中执行指令(想在哪个用户下让vim配置生效, 就在哪个用户下执行这个指令. 强烈 "不推荐" 直接在 root 下执行):

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

需要按照提示输入 root 密码. 您的 root 密码不会被上传, 请放心输入.

卸载方法

在安装了 VimForCpp 的用户下执行:

bash ~/.VimForCpp/uninstall.sh


http://www.ppmy.cn/embedded/14917.html

相关文章

Python 数据库基类封装

目录 1.BaseEntity 2.t_user 3.DAOBase 4.UserDAO 刚开始用Python做Api后端,记录下学习过程 从数据库操作开始,定义实体,定义DAO层基类,及DAO业务类的使用 写的不好,有好的设计建议欢迎大家提出,一起…

保护你的网站:了解5种常见网络攻击类型及其防御方法

随着互联网的迅猛发展,针对网站的各种类型的网络攻击随之增加,网络攻击事件层出不穷,由此,如何保护网站安全成为每个网站所有者的重要议题。在下面的内容中,我们将探讨5种常见网络攻击类型及其防御方法,以帮…

【Unity】苹果(IOS)开发证书保姆级申请教程

前言 我们在使用xcode出包的时候,需要用到iOS证书(.p12)和描述文件(.mobileprovision) 开发证书及对应的描述文件用于开发阶段使用,可以直接将 App 安装到手机上,一个描述文件最多绑定100台测试设备 1.证书管理 进入网站Apple Developer &…

linux网络加固操作

查看防火墙状态 systemctl status firewalld 查看开放的端口 firewall-cmd --list-ports 查看特定端口是否开放 firewall-cmd --query-port22/tcp 添加端口 firewall-cmd --zonepublic --add-port80/tcp --permanent 添加富规则禁止访问3306端口 firewall-cmd --permanent …

VUE父组件向子组件传递值

创作灵感 最近在写一个项目时,遇到了这样的一个需求。我封装了一个组件,这个组件需要被以下两个地方使用,一个是搜索用户时用到,一个是修改用户信息时需要用到。其中,在搜索用户时,可以根据姓名或者账号进…

Python中常用的爬虫库

目录 前言 1. Requests 2. Beautiful Soup 3. Scrapy 4. Lxml 5. Selenium 6. PyQuery 前言 在网络爬虫和数据抓取领域,Python提供了多种强大的库来辅助开发者从网站上有效地抓取所需数据。这些库各有其特点和适用场景,下面将详细介绍六个常用的P…

【Qt常用控件】—— 输入类控件

目录 1.1 Line Edit 1.2 Text Edit 1.3 Combo Box 1.4 Spin Box 1.5 Date Edit & Time Edit 1.6 Dial 1.7 Slider 1.1 Line Edit QLineEdit是Qt中的一个控件,用于 接收和显示单行文本输入。 核心属性 属性 说明 text 输⼊框中的⽂本 inputMask 输⼊…

css3中有哪些伪选择器?

CSS3中有以下伪选择器: :active(选中的元素处于活动状态):checked(选中的表单元素):disabled(禁用的表单元素):empty(没有子元素的元素):enabled(可用的表单…