目录
- 前言
- 一、包管理器
- 1.1 apt
- 1.2 yum
- 二、Linux编辑器——vim
- 2.1 vim的三种模式
- 2.2 vim普通模式常用命令
- 2.2.1 移动光标
- 2.2.2 删除
- 2.2.3 复制
- 2.2.4 注释
- 2.2.5 其他常用命令
- 2.3 vim命令行模式常用命令
- 三、配置vim
前言
一、包管理器
包管理器(Package Manager)是一种软件工具,它自动化了安装、更新、配置、移除和管理计算机程序库中软件包的过程。在操作系统和软件开发的上下文中,包管理器使得用户能够轻松管理各种软件包,包括它们的依赖关系、版本和配置,而无需手动处理复杂的安装和更新过程。这里只简单介绍两种常见的包管理器。
软件包和包管理器, 就好比 “App” 和 “应用商店” 这样的关系。
安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成。
1.1 apt
- 主要使用发行版:Debian及其衍生版,如Ubuntu、Linux Mint等
- 功能:支持从软件仓库自动下载、安装、更新和卸载软件包,同时自动处理软件包之间的依赖关系
- 常用命令:
sudo apt update
:更新软件包列表,以便可以安装最新版本的软件包及其依赖项sudo apt install package_name
:安装名为package_name的软件包及其依赖项sudo apt remove package_name
:删除名为package_name的软件包,但保留其配置文件sudo apt purge package_name
:删除名为package_name的软件包及其配置文件sudo apt upgrade
:升级所有已安装的软件包到最新版本,同时解决依赖关系sudo apt autoremove
:删除不再需要的软件包和依赖项sudo apt search <keyword>
:在软件仓库中搜索包含指定关键字的软件包apt list --installed
:列出所有已安装的软件包
1.2 yum
- 主要使用发行版:Red Hat及其衍生版,如CentOS、Fedora(在Fedora 22及以后版本被DNF取代)
- 功能:YUM是一个基于RPM的包管理器,能够自动下载、安装、更新和删除软件包,同时处理依赖关系
- 常用命令:
sudo yum install package_name
:安装指定的软件包及其依赖项sudo yum groupinstall group_name
:安装指定的软件包组sudo yum remove package_name
:卸载指定的软件包,但保留其配置文件sudo yum check-update
:检查所有可更新的软件包sudo yum update
:更新所有已安装的软件包到最新版本sudo yum list
:列出所有可安装和更新的软件包sudo yum search keyword
:根据关键字搜索软件包
二、Linux编辑器——vim
vim是一个多模式的编辑器,最常用的有三种模式。
2.1 vim的三种模式
- 普通模式
这是Vim的默认模式,也是用户最常使用的模式。在普通模式下,几乎所有的按键都用来执行命令,而不是直接输入文本。这包括移动光标、删除文本、复制粘贴、搜索替换等操作。要进入普通模式,如果你当前不在此模式下,只需按Esc键即可 - 插入模式
在插入模式下,Vim的行为类似于大多数其他文本编辑器,即你输入的任何字符都会被直接插入到文本中。要进入插入模式,你可以从普通模式开始,然后使用i(在当前光标位置插入)、a(在当前光标位置的下一个字符开始插入)、o(在当前光标所在行的下一行开始新行并插入)等命令之一 - 命令行模式
命令行模式不是Vim中最常用的模式,但它非常强大,允许你执行更复杂的命令,如搜索替换、保存文件、退出Vim等。在命令行模式下,你可以输入以冒号(:)开头的命令。要从普通模式进入命令行模式,只需输入冒号(:)即可。执行完命令后,Vim通常会返回到普通模式:help vim-modes
:查看当前vim的所有模式
注意: 一般插入模式和命令行模式是不能互相直接进入的,一般都要经过普通模式来跳转。
如果不清楚当前在哪种模式下,无脑ESC进入普通模式就行。
2.2 vim普通模式常用命令
2.2.1 移动光标
- vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母
h,j,k,l
,分别控制光标左、下、上、右移一格 - G:移动到文章的最后、
- #G:移动到第#行
- gg:进入到文本开始
- $ :移动到光标所在行的“行尾”
- ^:移动到光标所在行的“行首”
- w:光标跳到下个字的开头
- e:光标跳到下个字的字尾
- b:光标回到上个字的开头
- n+l:光标移到该行的第n个位置
- ctrl+b:屏幕往“后”移动一页
- ctrl+f:屏幕往“前”移动一页
- ctrl+u:屏幕往“后”移动半页
- ctrl+d:屏幕往“前”移动半页
2.2.2 删除
- x:每按一次,删除光标所在位置的一个字符
- #x:例如,6x表示删除光标所在位置的“后面(包含自己在内)”6个字符
- X:大写的X,每按一次,删除光标所在位置的“前面”一个字符
- #X:例如,20X表示删除光标所在位置的“前面”20个字符
- dd:删除光标所在行
- #dd:从光标所在行开始删除#行
2.2.3 复制
- yw:将光标所在之处到字尾的字符复制到缓冲区中
- #yw:复制#个字到缓冲区
- yy:复制光标所在行到缓冲区
- #yy:例如,6yy表示拷贝从光标所在的该行“往下数”6行文字
- p:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能
- #p:复制#次
2.2.4 注释
-
注释指定行
在普通模式下,先将光标移动到需要注释的开始,按Ctrl + v
,在用上下键(通常用j、k)调整需要注释的所有行(如果需要注释的行太多也可以配合#G快速移动光标),输入I(大写i),输入注释符//
,最后快速按ESC
两次。 -
取消指定行的注释
在普通模式下,先将光标移动到需要取消注释的开始,按Ctrl + v
,再配合j、l
键选中需要取消的注释符,按d
就删除了选中的注释符。
2.2.5 其他常用命令
- r:替换光标所在处的字符
- u:回到上一个操作,可执行多次
- Ctrl + r:u操作的恢复
- shift + ~:光标所在字符大小写切换
- shift + r:进入替换模式
2.3 vim命令行模式常用命令
在使用末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按:
冒号即可进入末行模式。
-
列出行号
「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号 -
跳到文件中的某一行
「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行 -
查找字符
- 「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止
- 「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止
-
保存文件
「w」: 在冒号输入字母「w」就可以将文件保存起来 -
离开vim
- 「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim
- 「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件
-
执行外部命令后返回vim
在 Vim 的底行模式中,! 符号有一个特殊的作用,它允许你执行外部命令。当你以 ! 开头输入一个命令时,Vim 会退出到 shell 环境中执行这个命令,并在命令执行完毕后返回到 Vim。这个功能允许你直接从 Vim 内部调用系统命令,比如查看文件、搜索文本、编译程序等 -
分屏
- 在底行模式下输入
:vs
文件名,Vim 会在当前窗口的右侧(或左侧,取决于你的 Vim 配置和当前分屏情况)垂直地打开一个新窗口,并尝试加载指定的文件名 Ctrl+w w
:在分屏之间切换光标:wq
:保存并退出当前分屏
- 在底行模式下输入
三、配置vim
Vim的基础配置主要涉及对其配置文件.vimrc
的编辑,以实现对Vim编辑器的个性化设置。
- 在目录
/etc/vim/
下面,有个名为vimrc
的文件,这是系统中公共的vim配置文件,对所有用户都有效 - 在Linux系统中,Vim的配置文件通常位于用户的家目录下,文件名为
.vimrc
。使用命令vim ~/.vimrc
打开(或创建).vimrc
文件进行编辑 - 因为这里配置的文件位于用户的家目录下,所以只对当前用户有效
- 进入插入模式(按i键),在
.vimrc
文件中添加所需的配置选项 - 设置完成后,按下Esc键退出插入模式,然后输入
:wq
(表示保存并退出)并回车,以保存对.vimrc
文件的更改
| vim常用功能:
可以直接复制粘贴到 ~/.vimrc 中
,保存退出直接生效。
syntax on " Set syntax highlighting
set number " Set the line number
set tabstop=4 " Set an indent to account for 4 spaces
set autoindent " Set up automatic indentation
set mouse=a " Set mouse is always available, set mouse= (empty) cancel
set cc=80 " Column 80 highlighted, set cc=0 cancellation
set cursorline " Settings to highlight the current row
set cindent " Format C language
set st=4 " Set the width of the soft tab to 4 spaces
set shiftwidth=4 " The width automatically indented when setting a new line is 4 spaces
set sts=4 " Set the number of spaces inserted when the Tab key is pressed in insertion mode to 4
set ruler " Show the status of the last line
set showmode " The status of this row is displayed in the lower left corner.
set bg=dark " Show different background tones
set hlsearch " Enable Search Highlight
set laststatus=2 " Always display the status bar
syntax on
: 设置语法高亮set number
: 设置行号set tabstop=4
: 设置一个缩进,考虑到4个空格set autoindent
: 设置自动缩进set mouse=a
: 设置鼠标总是可用,设置鼠标=(空)取消set cc=80
: 列80已突出显示,设置cc=0取消set cursorline
: 设置以突出当前行set cindent
: 格式化 C 语言set st=4
: 将软制表符的宽度设为4个空格set shiftwidth=4
: 设置新行时自动缩进的宽度是4个空格set sts=4
: 在插入模式下,按下 Tab 键时插入的空格数设置为 4set ruler
: 显示光标当前位置的行号和列号set showmode
: 显示当前Vim的工作模式在屏幕的左下角set bg=dark
: 设置编辑器的背景色为深色set hlsearch
: 启用搜索高亮功能,使得进行搜索时匹配的文本被高亮显示set laststatus=2
: 总是显示状态栏
另外vim中默认是不支持成对符号自动补全的,这个也可以配置,不过我一般是不喜欢自动补全的,这个看个人喜好:
inoremap ' ''<ESC>i
inoremap " ""<ESC>i
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap < <><ESC>i
inoremap { {<CR>}<ESC>O
其中大括号除了将光标移入括号内,还会另起一行并缩进。
本篇文章的分享就到这里了,如果您觉得在本文有所收获,还请留下您的三连支持哦~