47-linux-vim-安装以及权限等-缺少

news2024/11/19 19:27:00

47-linux-vim-安装以及权限等:

vi编辑器简介
vim是一个全屏幕纯文本编辑器,是vi编辑器的增强版,我们主要讲解的是vim编辑器。可以利用别名让输入vi命令的时候,实际上执行vim编辑器,例如:

[root@localhost ~]# alias vi= 'vim'
#定义别名
这样定义的别名是临时生效,如果需要永久生效,请放入环境变量配置文件(~/.bashrc)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fGUMS74Q-1670680548639)(png/1638500919979.png)]

命令模式:是主要使用快捷键的模式。命令模式想要进入输入模式,可以使用以下的方式:a,A,i,I,O,o

输入模式:主要用于文本编辑,和记事本类似,输入数据就好。末行模式(编辑模式):

:w保存不退出
	: w	新文件名	把文件另存为新文件
:q不保存退出
:wq保存退出
:!强制
	:q !强制不保存退出,用于修改文件之后,不保存数据退出。
	:wq!强制保存退出,当文件的所有者或者root用户,对文件没有写权限的时候,强制写入数据使用

命令模式操作

移动光标
1)上下左右移动光标

上、下、左、右方向键				移动光标
H、j、k、l						移动光标

2)把光标移动到文件头或尾

gg			移动到文件头
G			移动到文件尾( shift+g )

3)移动到行首或行尾

^		移动到行首
$		移动到行尾

4)移动到指定行

:n	移动到第几行,这里n是数字,准备移动到第几行,就用哪个数字。

删除或剪切

1)删除字母

x		删除单个字母(一般不这样使用,都用backspace,了解有即可)
nx		删除n个字母(一般不这样使用,都用backspace,了解有即可)

2)删除整行或剪切

dd				删除单行
ndd				删除多行
: nl,n2d		删除指定范围的行

删除整行或多行,这是比较常用的删除方法。这里的dd 快捷键既是删除,也是剪切。删除内容放入了剪切板,如果不粘贴就是删除,如果粘贴就是剪切。粘贴方法如下:

p						粘贴到光标后
P(大)					粘贴到光标前

复制

yy				复制单行
nyy				复制多行
复制之后的粘贴,依然可以使用p键或P(大)键

撤销

u							撤销
ctrl+r						反撤销
“u”键能一直撤销到文件打开时的状态,类似Windows下“ctrl+z”键的作用。“ctrl+r”能一直反撤销到最后一次操作状态,类似Windows 下“ctrl+y”键的作用。

替换

r							替换光标所在处的字符
R							从光标所在处开始替换字符,按ESc结束
“r”键替换单一字符,不用进入输入模式,实际使用时,比进入输入模式删除后再修改,要方便。

查找

/查找内容		从光标所在行向下查找
?查找内容		从光标所在行向上搜索
n			   下一个
N			   上一个

替换

:1,10s/old/new/g	替换1到10行的所有old为new
:%s/old/new/g		替换整个文件的old为new

替换字符串,我举几个例子:在shell中“#”开头是注释,那我是否可以注释文件的前10行呢?手工一个一个注释很麻烦,那么批量替换吧:

:1,10s/^/#/g		注释1到10行
:1,10s/^ #//g		取消注释

而在C语言,PHP语言等大多数语言中,是使用“//”开头作为注释的,我们当然可以用vim来写这些程序语言脚本,那么批量加入“//”注释吧:

:1,10s/^/N//g		1到10行,行首加入//
:1,10s/^vVI/g		取消1到10行行首的//

vim使用技巧

1.在vim中导入其他文件内容或命令结果

1.1导入其他文件内容

:r	文件名			#把文件内容导入光标位置

1.2在vim中执行系统命令

:!	命令				#在vim中执行系统命令
这里只是在vim中执行系统命令,但并不把系统命令的结果写入到文件中。主要用于在文件编辑中,查看系统信息,如时间。

1.3 导入命令结果

:r!			命令				#在vim中执行系统命令,并把命令结果导入光标所在行

2.设定快捷键

:map	快捷键	快捷键执行的命令			#自定义快捷键

vim允许自定义快捷键,常用的自定义快捷键如下:

:map P I#<ESC> 		#按“ctrl+p”时,在行首加入注释
:map	^B	^x			#按“ctrl+b”时,删除行首第一个字母(删除注释)
注意:^Р快捷键不能手工输入,需要执行ctrl+V+P来定义,或ctrl+V ,然后ctrl+P。B快捷键也是一样

3.字符替换

:ab	源字符	替换为字符			#字符替换
在vim编辑中,有时候需要频繁输入某一个长字符串(比如邮箱),这时使用字符串替换,能增加输入效率,例如:
:ab mymail shenchao@163.com		当碰到“mymail”时,转变为邮箱
注意:“源字符”不应设置的太短,否则有可能影响输入。

4.多文件打开
在vim中可以同时打开两个文件,只要执行如下命令:

[root@localhost ~]# vim -o abc bcd
[root@localhost ~]# vim -0 abc bcd

#一o小写o会上下分屏打开两个文件	#-O大写0会左右分屏打开两个文件
这样可以同时打开两个文件,方便操作。如果是“-o”上下打开两个文件,可以通过先按" ctrl+w”,再按“上下箭头”的方式在两个文件之间切换。
如果是“-O”左右打开两个文件,可以通过先按“ctrl+w”,再按“左右箭头”的方式在两个文件之间切换。

软件包安装:(源码包和RPM二进制包)

RPM包。
—、手工命令安装

安装:rpm -ivh包全名
升级:rpm -Uvh包全名
卸载:rpm -e包名。
查询:
	1)查询是否安装
		rpm 	-q	包名
		rpm  	-qa  |  grep  	包名
	2)查询包信息	
		rpm 	-qi 	包名
		rpm 	-qip	包全名
	3)查询安装位置
		rpm 	-ql		包名
		rpm 	-qlp	包全名
	4)查询系统文件属于哪个包	
		rpm 	-qf	系统文件名
	5)查询依赖性
		rpm -qR包名。
	验证:rpm -V 包名
	导入数字证书:rpm --import	数字证书
	提取RPM包中文件:
[root@localhost~]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.e16.i686. rpm | cpio-idv . /bin/ls

二、yum安装

ql 包名
rpm -qlp 包全名
4)查询系统文件属于哪个包
rpm -qf 系统文件名
5)查询依赖性
rpm -qR包名。
验证:rpm -V 包名
导入数字证书:rpm --import 数字证书
提取RPM包中文件:
[root@localhost~]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.e16.i686. rpm | cpio-idv . /bin/ls


二、yum安装

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/80785.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTTP协议介绍

了解HTTP HTTP是什么呢&#xff1f;它是超文本传输协议&#xff0c;HTTP是缩写&#xff0c;它的全英文名是HyperText Transfer Protocol。 那么什么是超文本呢&#xff1f; 超文本指的是HTML&#xff0c;css&#xff0c;JavaScript和图片等&#xff0c;HTTP的出现是为了接收和…

一位全栈工程师转岗项目经理的初体验与总结

从上周开始&#xff0c;公司这边把我从全栈工程师的岗位调到了项目经理的岗位&#xff0c;开始尝试管理岗位&#xff0c;感觉换了一个岗位像是换了一份工作一样&#xff0c;又在次充满了干劲。开始新的项目&#xff0c;招纳新的项目成员&#xff0c;虽然都是在做软件开发的事情…

【手把手】分布式定时任务调度解析之Quartz

1、任务调度背景 在业务系统中有很多这样的场景&#xff1a; 1、账单日或者还款日上午 10 点&#xff0c;给每个信用卡客户发送账单通知&#xff0c;还款通知。如何判断客户的账单日、还款日&#xff0c;完成通知的发送&#xff1f; 2、银行业务系统&#xff0c;夜间要完成跑批…

CCF CSP认证——201312

文章目录201312-1 出现次数最多的数201312-2 ISBN号码201312-3 最大的矩形201312-4 有趣的数201312-5 I’m stuck!201312-1 出现次数最多的数 题目链接 数据量较小&#xff0c;且数据范围也比较小。可以直接暴力&#xff0c;通过设置数组记录下标数据出现的次数&#xff0c;最…

C/C++关键字

C/C关键字【1】extern "C"【2】asm【3】关键字auto【4】break语句【5】catch 语句【6】关键字class【7】关键字const【8】#if【9】#pragma once【10】#pragma pack(1)【11】#pragma pack(4)【12】explicit【】 continue语句【13】关键字enum【14】friend【15】goto语…

【springboot进阶】基于starter项目构建(二)构建starter项目-web

目录 一、创建 web-spring-boot-starter 项目 二、添加 pom 文件依赖 三、构建配置 1. rest模板配置 RestTemplateConfig 2. 统一异常处理 BackendGlobalExceptionHandler 3. 统一返回数据结构 4. jwt鉴权处理 5. 请求日志切面处理 WebLogAspect 6. 邮件配置 BackendM…

mysql数据同步到elasticsearch数据解决方案

mysql数据同步到elasticsearch数据解决方案 问题场景 1.分库分表后多关联或者多条件查找效率低下&#xff0c;例如2b场景的查询&#xff0c;导出等需要多条件查询&#xff0c;继续用分库分表话效率低下。 2.数据量太多需要转移非关系型数据库elasticsearch存储 3.其他数据转…

AI 实战篇 |基于 AI开放平台实现 【植物识别】 功能,成为行走的百科全书

&#x1f3ac; 博客主页&#xff1a;https://xiaoy.blog.csdn.net &#x1f3a5; 本文由 呆呆敲代码的小Y 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f384; 学习专栏推荐&#xff1a;Unity系统学习专栏 &#x1f332; 游戏制作专栏推荐&#xff1a;游戏制作 &…

代码随想录刷题记录day40 爬楼梯+零钱兑换+完全平方数·

代码随想录刷题记录day40 爬楼梯零钱兑换完全平方数 参考&#xff1a;代码随想录 70. 爬楼梯 思想 当作完全背包问题&#xff0c;物品是1&#xff0c;2&#xff0c;可以无限次取用&#xff0c;背包的容量是n 1.dp[j]表示容量为j的背包&#xff0c;装满有dp[j]次 2.dp[j]dp…

【图像处理】opencv | 图像的二值化操作| cv2.threshold() | cv2.adaptiveThreshold()

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、cv2.threshold()阈值操作函数1.1、初见1.2、阈值不同时的效果二、cv2.adaptiveThreshold()自适应阈值操作函数2.1、初见2.2、固定blocksize,改变C值大小的实…

104-127-linux-vim-shell基础

104-linux-shell: 1.shell基础 分类&#xff1a;linux使用Bash&#xff0c;可通过vi /etc/shells查看linux支持的shell类型。 1、echo [rootlocalhost ~]#echo [选项] [输出内容] 选项:-e:支持反斜线控制的字符转换&#xff08;具体百度吧)-n:取消输出后行末的换行符号&…

Python实现ALO蚁狮优化算法优化支持向量机分类模型(SVC算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 蚁狮优化(Ant Lion Optimizer&#xff0c;ALO)算法是Mirjalili于2015提出的一种新型元启发式群智能算法…

185.基于Django的富文本编辑器安装与使用

1.DjangoUeditor 1.1 概述 富文本编辑器&#xff0c;在web开发中必不可少&#xff0c;但是django没有自带富文本编辑器&#xff0c;因此我们需要使用第三方库&#xff0c;这里使用DjangoUeditor DjangoUditor是百度开源的在线HTML编辑器&#xff0c;功能非常强大&#xff0c;像…

VUEElement简单介绍。

目录 一、VUE 1、基本介绍 2、Vue 指令 3、生命周期 二、Element 1、基本介绍 2、Element 布局 一、VUE 1、基本介绍 ▶ 概述 Vue 是一套前端框架&#xff0c;免除原生JavaScript中的DOM操作&#xff0c;简化书写。 我们之前也学习过后端的框架 Mybatis &#xff0c;My…

Linux下C/C++实现类似netstat命令(列出TCP和UDP连接)

网络连接一般包括最基本的五元组信息(源地址、目标地址、源端口、目标端口、协议号)再加上所属进程信息pid, exe, cmdline等。其中这两项数据大多可直接读取linux /proc目录下的网络状态连接文件/proc/net/tcp、/proc/net/udp), 进程状态目录(/proc/pid/xx)。 Linux 下的/proc…

Java基于JSP的报刊订阅管理系统

随着人类的发展&#xff0c;人们对信息的获取方式也越来越多&#xff0c;虽然很多时候人们习惯了通过手机来获取各类信息&#xff0c;但是手机也逐渐的成为了危害人类健康的杀手之一&#xff0c;为了能够让大家回归到健康的生活中来&#xff0c;我开发了本系统&#xff0c;旨在…

基于jsp+mysql+ssm医药进销存管理系统-计算机毕业设计

项目介绍 为了减少传统医药进销存管理的繁杂的工作量&#xff0c;提高医药进销存管理的效率而设计开发了此系统。本系统综合各方面的需求决定采用B/S架构&#xff0c;并利用clipse搭建java开发平台。从而共同完成整个医药的设计开发。系统实现的功能主要包括&#xff1a;用户在…

java 通过InetAddress获取ip 计算机名称操作

本文属于java网络编程部分 需要你的网络编程三要素 有所了解 如果您尚未了解 可以先查看我的文章 java网络编程三要素 而 为了更好的获取和使用IP地址 java提供了InetAddress类 来到文档 首先 他在 java的net包下 所以 想用它 是需要导包的 根据文档叙述 InetAddress就是一个…

python数据分析及可视化(十七)聚宽(双均线分析、因子选股策略、多因子选股策略、均值回归理论、布林带策略、PEG策略、权重收益策略)

聚宽 聚宽是一个做金融量化的网站&#xff0c;https://www.joinquant.com&#xff0c;登录注册&#xff0c;如果你写的文章、策略被别人采纳&#xff0c;增加积分&#xff0c;积分用于免费的回测时长。在我的策略&#xff0c;进入策略列表&#xff0c;里面有做好的策略模板可以…

Web前端105天-day40-GIT

git--版本控制系统(VCS) 目录 前言 一、版本控制系统(VCS) 二、Git中的常用概念 三、Git中的常用命令 四、分支 五、远程仓库(代码托管平台) 总结 前言 day40学习开始 一、版本控制系统(VCS) 用于项目中文件的存储、共享、历史回退、合并、代码追踪文件历史常用版本控制…