【Linux】Vim文本编辑器

人生碌碌,竟短论长,却不道荣枯有数,得失难量。

前言

这是我自己学习Linux系统编程的第二篇笔记。后期我会继续把Linux系统编程笔记开源至博客上。

上一期笔记是关于 Linux 的指令与权限知识:【Linux】指令与权限-CSDN博客https://blog.csdn.net/hsy1603914691/article/details/143726825

Linux下安装软件的方法

  1. 源代码安装

  2. rpm包安装

  3. 包管理器安装--->yum/apt

包管理器

  1. 包管理器相当于华为手机中的华为应用商城

  2. Linux机器上,有对应的yun/apt提供的配置文件

  3. 由于原先大多软件包服务器在国外,直接下载时速度比较慢,所以可以去国内的镜像网站去下载,下面是清华大学开源软件镜像站链接:

清华大学开源软件镜像站 | Tsinghua Open Source Mirrorhttps://mirrors.tuna.tsinghua.edu.cn/4. yun/apt不仅可以解决下载安装卸载问题,还可以解决路径依赖问题,不用手动去下载依赖的文件。

yum指令

sudo yum install -y xxx下载xxx软件包

sudo yum remove -y xxx卸载xxx软件包

  1. yum指令 在同一个时间只能安装一个软件包

  2. 在执行yum指令时,必须保证网络通畅
    sudo yum install -y epel-release更新CentOS里面的yum扩展源

  3. yum源包括标准源扩展源标准源里面存放稳定的软件包扩展源里面存放较新的软件包

  4. CentOS里面的yum源 都保存在 /etc/yum.repos.d路径下。

操作系统的生态

  1. 操作系统之间的最大区别在于操作系统的生态

  2. 操作系统的生态包括:社区论坛官网文档软件体系维护更新速度操作系统自身客户群体

Linux编辑器

IDE

  1. VS2022Dev-C++这种集成了:编译、调试、项目管理、支持多种编程语言等功能的开发环境,称为IDE(集成开发环境)。

vim

为什么选择vim

  1. 很多软件的编辑接口 都会主动调用vim

  2. vim具有程序编程能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计

vim的三种常用模式

1.vim是一个专注的多模式的编辑器

  1. vim是一个储存在**/usr/bin/vim路径下面的可执行程序**。

  2. vim存在三种常用的模式命令模式插入模式底行模式

  1. 命令模式又称为默认模式输入的内容都会被当作命令

  2. 插入模式又称为正常的编写模式

  3. 命令模式切换到插入模式i

  4. 插入模式切换到命令模式Esc

  5. 命令模式 切换到底行模式

  6. 底行模式 切换到命令模式Esc

vim基础指令

vim xxx启动Vim编辑器并尝试打开名为xxx的文件进行编辑。

命令模式指令

光标指令

gg把光标定位到第一行

shirt+g把光标定位到最后一行

n+G把光标定位到第n行
$把光标定位到本行结尾

^把光标定位到本行行首
H把光标向左移动

J把光标向下移动

K把光标向上移动

L把光标向右移动
w把光标向右移动一个单词

b把光标向左移动一个单词

编辑命令

yy复制当前行

dd剪切当前行

p粘贴到当前行

  1. 指令前面可以加上数字n,表示从光标开始的前n行都进行该指令操作
    u撤销

ctrl+r对上一次u指令进行撤销
x(小写)删除光标处的一个字符

X(大写)删除光标前面的一个字符
~把光标上的字母从小写替换成大写并从左向右遍历完这一行

shirt+r进入替换模式输入内容会替换当前光标所在内容

底行模式指令

w保存

q退出

wq保存并退出
set nu显示行号

set nonu不显示行号
vs xxx垂直分割当前窗口并在新创建的窗口中打开指定的文件xxx

ctrl+w进入窗口切换模式
! xxx强制执行xxx指令

/ xxx找到文本中xxx的位置按n找到文本中下一个xxx的位置

视图模式指令

  1. ctrl+v--->h/j/k/l--->shirt+i--->//--->Esc

  2. ctrl+v--->h/j/k/l--->shirt+i--->d--->Esc

  3. ctrl+v进入视图模式,可以进行批量化注释代码,也可以批量化取消代码注释

  4. 视图模式也可以进行批量化编辑

配置vim文件

  1. 可以参考gitee上面这篇博客:

VimForCpp: 快速将vim打造成c++ IDEhttps://gitee.com/HGtz2222/VimForCpp

致谢

感谢您花时间阅读这篇文章!如果您对本文有任何疑问、建议或是想要分享您的看法,请不要犹豫,在评论区留下您的宝贵意见。每一次互动都是我前进的动力,您的支持是我最大的鼓励。期待与您的交流,让我们共同成长,探索技术世界的无限可能!

相关推荐
db_murphy1 小时前
Oracle数据块8KB、OS默认认块管理4KB,是否需调整大小为一致?
linux
mCell4 小时前
从删库到跑路?这50个Linux命令能保你职业生涯
linux·windows·macos
杰克逊的日记4 小时前
GPU运维常见问题处理
linux·运维·gpu
誰能久伴不乏5 小时前
Linux系统调用概述与实现:深入浅出的解析
linux·运维·服务器
程序员学习随笔6 小时前
Linux进程深度解析(2):fork/exec写时拷贝性能优化与exit资源回收机制(进程创建和销毁)
linux·运维·服务器
mmoyula6 小时前
【RK3568 PWM 子系统(SG90)驱动开发详解】
android·linux·驱动开发
-SGlow-6 小时前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql
代码改变世界ctw7 小时前
Linux内核设计与实现 - 第14章 块I/O层
linux·运维·服务器
van叶~9 小时前
Linux网络-------1.socket编程基础---(TCP-socket)
linux·网络·tcp/ip
风吹落叶花飘荡9 小时前
Ubuntu系统 系统盘和数据盘扩容具体操作
linux·运维·ubuntu