当前位置: 首页 > news >正文

基础开发工具---软件包装管理器及vim

在linux中安装软件的方式

1.源码编译安装

先从某些地方下载原码 然后进行编译安装

优点: 灵活性高  获取原码时候可以直接下载最新版本的

缺点: 需要手动安装所依赖的库等内容否则会编译失败 且删除的时候需要手动删除 删除可能会有遗漏 导致删除不彻底

2.包管理器安装

这是非常推荐的方式  Linux发行版通常自带包管理工具 用于从官方仓库安装、更新和卸载软件。

包管理器就类似于手机上自带的应用商店 我们可以直接从里面下载安装内容 下载安装后就可以直接使用了  

优点:自动解决依赖关系 安全性高 且安装更新删除非常的方便 各种问题都不需要我们考虑

linux之所以提供了这样的方式 是因为会给使用者带来很大的便利  这样才会有更多的人去使用去支持linux操作系统

安装删除软件操作

安装需要root账号或者普通用户用sudo获取root权限

安装

sudo yum install 软件名称    -----------Centos

sudo apt install 软件名称  ------------Ubuntu

删除

sudo yum remove 软件名称    -----------Centos

sudo apt remove 软件名称  ------------Ubuntu

后面可以加-y 某些选项就不会提示 直接默认确定

1.例如cowsay软件的安装

cowsay软件使用方法  cowsay 要输出的内容 

效果如下  默认的形象是牛 里面有各种各样的形象

cowsay  会显示出里面有的形象 如下

-f选项可以选择指定的形象 例如下面指定龙和乌龟

还可以安装 lolcat软件 (显示彩色文本 安装方式相同) 后结合起来使用

2.cmatrix

安装后  输入cmatric会有下面这样的特效  不断有数字字符从上面落下来 CTRL+C退出

 apt(yum) list 

可以直接把系统已有的软件包罗列出来  但是会有很多软件包 通常需要结合grep来罗列出我们需要的软件包

dpkg --list

会显示已安装软件的状态、名称、版本、架构和描述信息。

编辑器vim

vim是 Linux系统中一个强大的文本编辑器,全称 Vi IMproved,是经典编辑器vi的增强版

使用方式 vim 文件名 (如果文件不存在则创建一个新的并开始编辑  如果文件存在就进入这个文件进行编辑)

vim有很多模式 

 最主要的有以下三种模式 

命令模式: 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段

插入模式:进行文字输入

底行模式:⽂件保存或退出,也可以进⾏⽂件替换,找字符串,列出⾏号等操作 

初始进入时候是命令模式 下面是三种方式的或者转换关系

实用快捷键

底行模式下快捷键

 w-- 保存    q-- 退出   w!-- 强制保存   q!-- 强制退出   wq!-- 强制保存并退出 

set nu-----   显示行号   set nonu----   取消行号显示

!(命令)  -----            不退出vim的情况下执行输入的命令 

%s / dst / src /  ----   批量化替换 把里面dst的内容都替换为src

vs 文件  -----             分屏操作    CTRL ww 切换到另一个代码区

命令模式下的快捷键

移动光标位置

gg                      回到起始位置(第一行第一个位置)

SHIFT+g(G)  到最后一行第一个位置

n+SHIFT+g (n+G)  跳到指定的n行第一个位置

SHIFT+6 (^)           跳转到当前行的最左

SHIFT+4 ($)          跳转到当前行的最右

hjkl   向左下上右移动  (上下左右键也可以  这样设置是因为早期的键盘没有上下左右键)

w    以一个单词为单位向后移动

b     以一个单词为单位向前移动

上面这三个可以在前面加一个数字 例如 5h向左移动五个位置 

增删改查

yy            复制当前行的内容

dd            剪切当前行的内容

p             把复制或者剪切的内容在下一行粘贴

x             删除当前光标出的字符

上面这四个同样可以在前面加数字  例如 5yy 复制当前行开始的五行的内容 

SHIFT +x   光标位置不变 删除左边的一个字符(可以按住SHIFT不动 然后按住x就会一直删除)

r   选中当前字符 下一次输入的字符替换当前字符 (前面可以加数字 会选择当前位置开始的几个字符 然后接下来输入的一个字符会替换被选中的内容)

SHIFT+~    大小写字母转换 (也可以加数字)

SHIFT+r (进入批量替换模式) 接下来输入的字符会逐个替换当前行的字符

SHIFT+3(#)           把当前单词选中跳转到当前同样单词的下一个位置 到了最后一个下一次会到第一个位置

n            逆向查找

u            撤销上一次操作

CTRL+r  撤销上一次撤销的操作

撤销操作只有在当前编译的时候有效 如果退出文件编译 再次进来不能回复上一次操作前的内容 但是不退出只保存不会影响

除了三种 核心模式外 还有上面提到的替换模式及可视化模式(V-BLOCK) 替换模式的作用就是上面提到的批量替换的功能

可视化模式的作用

批量化注释

①从命令模式开始 CTRL+v(V)进入V-BLOCK模式

②在该模式下可以用上面提到的移动光标的快捷键选中区域

③然后直接SHIFT+i(I)进入插入模式   插入//

④按ESC 此时进入命令模式的同时 选中每一行都被注释掉了

在②只需选中要注释的每一行中的第一个字符就可以 因为本质是在每一行的前面加//进行注释  

取消注释

在刚注释完是在命令模式 此时直接u撤销就取消刚刚的注释  

另一种通用方式

①从命令模式开始 CTRL+v(V)进入V-BLOCK模式

②在该模式下可以用上面提到的移动光标的快捷键选中需要去掉的//区域

③输入d 在进入命令模式的同时 把注释删完了

------除了注释之外 还可以用同样的操作在某些位置批量的增加或者删除一下内容

使用vim的小技巧

1.vim 文件名 +n 在打开wim的时候就在第n行的开始

什么用呢?

例如编译报错了 告诉我们错误在多少行 此时可以用这种方式打开直接就在错误的行号

2.!+ v  直接打开上一次打开的vim

这是因为!+字母  会自动执行最近一次以该字母开始的命令

vim的配置

我们在使用vim的时候根据不同的服务器版本等会有不同的初始配置   如果想要有什么功能我们可以自己配置(例如显示行号 语法点亮 控制缩进)

在  /etc/ 路径下 有一个名为vimrc的文件 这是系统中公共的vim配置文件 在里面配置的内容对所有的用户的vim都有效

如果是在用户自己家目录下的.vimrc文件下的配置就只对自己这个用户有效  建议只在自己的用户账号下进行配置

如果没有默认存在的话.vimrc 也可以由我们重新创建然后添加配置

自己配置有两种方式

一种是直接在各种地方查找一些适配于自己的系统的配置 然后把内容直接粘贴到自己用户家目录下的.vimrc文里面

下面是一些适用于Ubuntu好用的一些vim配置

syntax on              
set number              
set tabstop=4           
set autoindent          
set mouse=a             
set cc=80               
set cursorline          
set cindent             
set st=4                
set shiftwidth=4       
set sts=4               
set ruler              
set showmode            
set bg=dark             
set hlsearch           
set laststatus=2        inoremap ' ''<ESC>i
inoremap " ""<ESC>i
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap < <><ESC>i
inoremap { {<CR>}<ESC>O

另一种方式是直接在linux中用链接的方式 会自己安装一些内容把vim给配置好

下面是一个Ubuntu系统的vim的配置 在输入之后只需要等待一段时间 安装完毕后vim就配置好了

sudo wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x

http://www.dtcms.com/a/560631.html

相关文章:

  • 邮箱登陆嵌入网站义乌网站建设方案详细
  • 榨干 CPU 性能:通过绑核将 Redis 尾延迟减半!
  • 数据结构之栈和队列-队列
  • 十九、STM32的TIM(十)(编码器)
  • FSDP(Fully Sharded Data Parallel)全分片数据并行详解
  • Transformer 模型详解:从输入到输出的全流程剖析
  • 网站开发工单营销型网站建设设定包括哪些方面
  • EF Core 数据库迁移
  • 【攻防实战】通达OA文件上传联动Cobalt Strike打穿三层内网(下)
  • 网站备案 教程广州花都区网站建设
  • FPC-40P-05转接板-嘉立创EDA设计
  • Java核心概念深度解析:从包装类到泛型的全面指南
  • 灵途科技亮相NEPCON ASIA 2025 以光电感知点亮具身智能未来
  • flash-attn安装过程中编译错误
  • 世界最受欢迎的免费架站平台经营网站 备案信息
  • 7.1 阴影贴图
  • Elastic AI agent builder 介绍(三)
  • React18中在有路由的情况下父组件如何给子组件传递数据?
  • 边缘计算和云计算有什么区别?
  • 做哪种网站流量大嵌入式软件开发工程师工作内容
  • 【第二十周】机器学习笔记09
  • Linux定时任务:crontab使用教程(附案例)
  • 网站建设配色方案wordpress对接静态网页
  • Instant Mail临时邮箱v7.3.0 最新解锁版
  • MPK(Mirage Persistent Kernel)源码笔记(5)--- 执行引擎
  • 微网站菜单网站开发用哪个框架
  • 【Cache缓存】基本概念
  • 数据结构:单链表(1)
  • 4.2 【2018统考真题】
  • swoole怎么做直播网站网站的安全维护