《Linux系统编程篇》vim的使用 ——基础篇

引言

上节课我们讲了,如何将虚拟机的用户目录映射到自己windows的z盘,虽然这样之后我们可以用自己的编译器比如说Visual Studio Code,或者其他方式去操作里面的文件,但是这是可搭建的情况下,在一些特殊情况下,我们没有办法临时去操作Linux系统里面的文件,会使得我们非常棘手,所以我们要学习Vim,在Linux系统编程中,Vim是一款非常强大的文本编辑器。

愿你在人生的旅途中,始终保持热爱、勇敢和坚持,收获自己想要的美好 ------家驹

文章目录

vim的下载与更新

使用Mobaxterm连接好虚拟机之后,我们来下载或者更新一下vim这款编译器,最好重

新下载一下,因为自带的vim超级难用。

输入以下命令来安装 Vim

c 复制代码
sudo apt update
sudo apt install vim

牛刀小试:使用vim打开文件或编辑

c 复制代码
vim demo1.c

或者

c 复制代码
vi demo1.c

如果没有这个demo1.c的文件则会,编辑保存之后,自动创建这个文件

我这里就是没有这个文件,所以使用了这个命令之后是空的,我们接下来写一个hello word小程序

输入i字母,进入编辑模式

左下角有这个提示就可以编辑了

一定要手敲不要复制,感受一下vim的编辑方式

c 复制代码
#include <stdio.h>

int main()
{
        printf("Hello World");
        return 0
}

输入完成之后,点击键盘左上角的esc键,退出插入编辑模式

接着输入冒号:

代表着输入指令,我们想要退出保存这个文件,所以需要输入的指令是wq

连起来就是:wq

w:保存 q:退出

直接回车

然后就退出到命令行了,接下来我们可以使用cat命令去看一下,我们刚刚编辑的文件有没有成功。

成功,我们成功使用了vim工具编写了一个文件!

vim基本操作

下面我列举了一些,常用基本操作的方法,可以试着用一下。

打开/创建文件

  1. 从终端打开文件:vim 文件名

  2. 创建新文件:vim 新文件名

保存和退出

  1. 保存文件:按下 Esc 进入命令模式,然后输入 :w 并按下 Enter

  2. 不保存文件并退出:按下 Esc 进入命令模式,输入 :q! 并按下 Enter

  3. 保存并退出:按下 Esc 进入命令模式,输入 :wq:x 并按下 Enter

光标移动

  1. 使用箭头键或 h j k l 分别向左、下、上、右移动光标

  2. 移动到行首:0

  3. 移动到行尾:$

  4. 移动到文档开头:gg

  5. 移动到文档末尾:G

编辑文本

  1. 进入编辑模式:在普通模式下按下 i 进入插入模式

  2. 删除字符:在普通模式下按下 x

  3. 复制粘贴:在普通模式下按下 yy 复制当前行,p 粘贴到光标后

  4. 撤销:在普通模式下按下 u

查找和替换

  1. 查找:在普通模式下按下 / 后输入要查找的内容,按下 Enter

  2. 替换:在命令模式下输入 :%s/要替换的内容/新内容/g 并按下 Enter 进行全局替换

分屏和退出分屏

  1. 水平分屏:在命令模式下输入 :sp

  2. 垂直分屏:在命令模式下输入 :vsp

  3. 切换屏幕:按下 Ctrl + w 然后按下 w

  4. 关闭当前屏幕:在普通模式下按下 :q

vim快捷键,提升操作篇

结束

我们后续会教大家使用VS Code去编写代码,但是,建议初学者先用vim编写一阵子,这是一个必须学会的基础。总之一句话孰能生巧。可以试着像本地windows一样操作一些东西,用vim实现,哪里卡住了,就是你进步的时候!

相关推荐
pk_xz1234561 小时前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器
小珑也要变强1 小时前
Linux之sed命令详解
linux·运维·服务器
Lary_Rock3 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
云飞云共享云桌面5 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
励志成为嵌入式工程师5 小时前
c语言简单编程练习9
c语言·开发语言·算法·vim
Peter_chq5 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮6 小时前
Linux 使用中的问题
linux·运维
dsywws7 小时前
Linux学习笔记之vim入门
linux·笔记·学习
幺零九零零8 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
小林熬夜学编程9 小时前
【Linux系统编程】第四十一弹---线程深度解析:从地址空间到多线程实践
linux·c语言·开发语言·c++·算法