IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Linux vim的使用与配置 -> 正文阅读

[开发工具]Linux vim的使用与配置

vim

vim是一款多模式文本编辑器,其和eclipse,vs 2017这类编程软件不同,vim支持文本的编辑和调试,但是并不支持运行。

vim的三种常用模式

命令模式

在命令模式下,只能输入命令,vim会根据命令返回对应的结果。

?? ( 1 ) (1) (1)光标的简单移动
在命令模式下,上下左右四个键能进行光标的移动,但是我们一般不使用上下左右键进行光标移动,而是使用kjhl
k->上
j->下
h->左
l->右

?? ( 2 ) (2) (2)光标的跳跃移动

命令:shift ^
功能:光标跳到当前所在行的行首
在这里插入图片描述
命令:shift $
功能:光标跳到当前所在行的行尾
在这里插入图片描述
命令:gg
功能:让光标切换到起始行
gg大家可以类比游戏中的gg,回到起始状态。
在这里插入图片描述
命令:G
功能:让光标切换到末尾行

在这里插入图片描述
命令:数字 shift g
功能:让光标切换到指定行
在这里插入图片描述
命令:w
功能:逐个单词进行光标向右移动
ps::当前行走完会跳到下一行
在这里插入图片描述
命令:b
功能:逐个单词进行光标向左移动
ps::当前行走完会跳到上一行
在这里插入图片描述
?? ( 2 ) (2) (2)复制,粘贴,剪切
命令:p
功能:粘贴

命令:数字 p
功能:执行n次粘贴操作

命令:yy
功能:复制光标所在行

命令:数字 y
功能:复制光标所在行和后面的n行

命令:dd
功能:剪切光标所在行
ps::可以搭配粘贴进行使用。

?? ( 2 ) (2) (2)大小写转换
shift ~
功能:光标位置字符大写变成小写,若是小写就变成大写
在这里插入图片描述
?? ( 3 ) (3) (3)删除
命令:x
功能:删除光标位置的字符
在这里插入图片描述

命令:数字 x
功能:删除光标位置和后面的字符(共n个)
在这里插入图片描述

?? ( 4 ) (4) (4)撤销

命令 :u
功能:撤销当前命令的操作

命令:ctrl r
功能:撤销刚刚的撤销操作

?? ( 5 ) (5) (5)替换

命令:r 替换以后的字符
功能:替换光标位置的字符
在这里插入图片描述
命令:数字 r 替换以后的字符
功能:从光标位置开始n个字符替换成指定的字符
在这里插入图片描述

命令:shift r
功能:进入替换模式,可以进行连续的替换
ps::Esc退出替换模式

底行模式

?? ( 1 ) (1) (1)显示行号
命令:set nu
功能:显示行号
在这里插入图片描述
命令:set nonu
功能:关闭行号

?? ( 2 ) (2) (2)多文件分屏
格式:vs 文件名
功能:可以进多文件操作
命令:ctrl ww
将光标切换到另一个屏
ps::光标在哪个屏幕,就是对该屏的文件进行操作,当想退出时输入q,对应光标所在文件就会退出。
并且多文件操作不是局限于一个。
多文件操作还可以搭配复制粘贴这类功能进行使用。
在这里插入图片描述

插入模式

插入模式就和记事本一样,没有什么特殊的命令需要记住。

模式的转换

命令模式->插入模式:i
插入模式->命令模式:Esc
命令模式->底行模式:shift :
底行模式>命令模式:Esc
ps::底行模式和插入模式之间不可以直接转换,都需要通过切换到命令模式,所以命令模式也称作核心。
在这里插入图片描述

vim的配置

首先需要知道:vim的配置只会影响当前的登录用户,对其他的用户不会有影响。

1.进入当前用户的工作目录~,如果没有.vimrc这个隐藏文件,就通过touch .vimrc 先创建一个.vimrc的文件
vim的配置都写在这个文件里。

root的配置文件为vimrc

sudo添加信任关系

?? ( 1 ) (1) (1)以root用户进入目录vim /etc/sudoers
?? ( 2 ) (2) (2)找到Allow root to run any commands anywhere 这句话,我的大概在100行左右
在这里插入图片描述
?? ( 3 ) (3) (3)添加信任关系,我当前用户名为tailin
在这里插入图片描述
?? ( 4 ) (4) (4)通过wq!退出vim

在学习yum安装软件之前,我们需要先铺垫一些知识:

什么是服务器

服务器一词在计算机的世界中经常被提到,但是对于服务器我们又感觉说不清其到底是什么?

关于服务器我们可以将其看作是一台大型计算机,类比于我们的电脑,只不过这台大型计算器没有鼠标,键盘....这类设备。在一家公司中,一台服务器从买回来到开机一般都不会关机,7x24小时全天候的为我们提供服务。
在服务器上部署了很多的服务,就像电脑上下载的软件。我们平常使用qq,微信都是对应公司的服务器在我们提供服务,为我们提供数据。

但是服务器并不是只通电就能够使用的,一台服务器必须搭配上操作系统才能正常使用。我们电脑搭配的系统一般是windows,而服务器搭配的操作系统一般是Linux

Linux上安装软件的方式

在Linux上安装软件有三种方式:
?? ( 1 ) (1) (1)源码安装

?? ( 2 ) (2) (2)rpm安装

在安装一个软件的时候往往需要安装和其具有依赖关系的软件,对于这种软件,前两种方式都不能很好的解决这个问题,所以我们并不推荐前面的两种安装方式。

关于这种依赖关系我们可以这样理解:
在使用vs 2017进行编程的时候,我们需要在vs上进行代码的编译,运行。
因此在下载vs的时候我们不是只下载了vs 2017这个外壳,还需要下载很多的标准库软件,如c语言标准库。这些标准库也就是vs 2017的依赖软件。

Linux上有一种非常简单的安装方式:
?? ( 3 ) (3) (3)yum安装
yum会自动进行安装软件,并且安装和其带有依赖关系的软件。

yum install tree....这类命令大家可能都有敲过,但是yum究竟是什么呢?他是如何帮助我们进行安装软件的呢?接下来我们开始揭开yum的真正面纱。
在这里插入图片描述

第一个问题:yum究竟是什么?

回忆下我们使用手机是如何下载软件的,过程一般如下:
1.打开应用商店。
2.搜索想要安装的软件。
3.系统自动为我们安装好软件。

大家是否有想过这样一个问题:我们下载游戏的时候下载的究竟是些什么?

首先,对于一款游戏,其必定带有自己的数据。这些数据不是存在我们的手机上,而是存储在对应提供软件的公司数据库中,我们需要通过服务器去访问这些公司,公司通过服务器将数据传输到我们的手机上。

在手机上我们下载软件使用的程序是应用商店,而Linux上下载软件的应用商店就是yum。这便是yum的真面目。

yum是如何为我们安装软件的?

前面我们说了,yumLinux上的应用商店。在下载软件的时候我们需要和对应软件的服务器进行交互,但是问题来了yum怎么知道下载软件的服务器是什么?

原来,在yum这个软件商店上存储着一系列的yum源(也就是Linux中的一系列文件),对于yum源我们可以将其看作是存储软件的仓库,里面存储着所有可安装软件的名称和服务器地址,在下载软件的时候yum会到yum源里查找下载软件的服务器地址。yum在找到软件的服务器的地址以后就需要和对应软件的服务器进行数据的交互:
在这里插入图片描述
扩展的yum源一般是放在epel里,所以如果我们想要扩展我们的yum源。
可以安装扩展的yum源
命令:sudo yum install -epel -release

我们的yum源一般是在/etc/yum.repos.d/目录下:
可以进入目录查看自己的yum
cd /etc/yum.repos.d/
在这里插入图片描述

yum安装常用三板斧

??第一板斧:sudo yum list
功能:以列表的形式显示Linux上可以正常安装的软件。
在这里插入图片描述

并且yum list可以搭配grep进行使用,假设我们需要下载tree软件,我们可以这样进行检索

在这里插入图片描述
??第二板斧:sudo yum install 软件名
在这里插入图片描述
如果不想要系统询问,直接带-y选项,我就是要安装,你可别问我了。

??第三板斧:sudo yum remove 软件名
功能:卸载软件
在这里插入图片描述
系统会询问你是否要删除。
如果不想要系统的询问,带-y选项就好了。

还有一个软件大家可以安装以下
sudo yum install lrzsz
装了这个软件以后可以实现windowsLinux的文件交互。
?? ( 1 ) (1) (1)
命令:sz linux上的文件
功能:将Linux上的文件发送到windows上
在这里插入图片描述
?? ( 2 ) (2) (2)
命令:rz
功能:将windows上的文件发送到Linux上
···
?? ( 3 ) (3) (3)
windows的文件直接拖拽到Linux
在这里插入图片描述

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-05-21 19:11:00  更:2022-05-21 19:11:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/29 8:34:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计