【Linux学习】Linux开发工具——vim

🔥个人主页: Forcible Bug Maker
🔥专栏: Linux学习

目录

🌈前言

前言:Linux编辑器------vim的介绍和使用

vim 是一款在 Linux、Unix 以及类 Unix 系统(比如 macOS)上广泛使用的文本编辑器。它最初由 Bram Moolenaar 在 1991 年发布,作为 vi 编辑器的改进版。vi 编辑器是 Unix 系统上最早的屏幕编辑器之一,由 Bill Joy 在 1976 年为 BSD Unix 系统编写。

vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows。

🔥vim的基本概念

vim编辑器有很多种模式,目前主要介绍常用的三种,分别是 命令模式(Command mode)插入模式(Insert mode)底行模式(Last line mode),这三种模式的区别如下:

  • 命令模式:
    控制屏幕光标的移动,字符,字或行的删除,移动复制某区段及进入Insert mode,或者进入Last line mode。
  • 插入模式:
    只有在Insert mode下,才可以做文字输入,按[Esc]键可回到命令模式。
  • 底行模式:
    文件保存或退出,也可进行文件替换,找字符串,列出行号等操作。在命令模式下::符号,也就是shift + ;可以切换到底行模式。

也可以在底行模式下输入:help vim-modes查看更多的模式介绍。

🔥vim的基本操作

进入vim,在系统提示符号输入vim+文件名称之后,就可以进入vim全屏幕编辑画面:

复制代码
$ vim test.c


需要注意的是,进入vim之后,首先处于[命令模式],需要切入到[插入模式]才能输入文字。

  • 命令模式\]切换至\[插入模式

    • 输入i
    • 输入a
    • 输入o
  • 插入模式\]切换至\[命令模式

    • [Esc]
  • 命令模式\]切换至\[底行模式

    • [Shift + ;],其实就是输入[:]

退出vim并保存文件:

复制代码
:w	->保存当前文件
:wq	->保存并退出
:q	->退出
:q!	->强制退出
:w!	->强制写入

这时候按回车键,test.c就成功被编辑并保存了。我们可以使用gcc编译这份代码并运行它。

🔥vim命令模式的命令集

  • 移动光标
    • vim虽然可以使用键盘上的[↑][↓][←][→]键来控制移动 ,但正规的vim是用小写英文字母[h][j][k][l],分别控制光标左,下,上,右移动一个。
    • 按[G]:移动到文本末尾
    • 按[gg]:移动到文本开始
    • 按[$]:移动到光标所在行的"行尾"
    • 按[^]:移动到光标所在行的"行首"
    • 按[w]:光标跳转到下个字(单词)的开头
    • 按[e]:光标跳转到下个字(单词)的结尾
    • 按[b]:光标回到上个字的开头
    • 按[Ctrl+b]:屏幕往"后"移动一页
    • 按[Ctrl+f]:屏幕往"前"移动一页
    • 按[Ctrl+u]:屏幕往"后"移动半页
    • 按[Ctrl+d]:屏幕往"前"移动半页
  • 删除文本
    • x\]:每按一次,删除光标所在位置的一个字符

    • X\]:大写的x,每按一次,删除光标所在位置之前的一个字符

    • dd\]:删除光标所在行

  • 复制
    • yw\]:将光标所在之处到字尾的字符串复制到缓冲区中

    • yy\]:复制光标所在行到缓冲区

    • p\]:将缓冲区内的字符粘贴到光标所在位置

    • u\]:如果误执行一个命令,可以按\[u\],回到上一个操作

  • 跳跃
    • #G\]:移动光标至文章的第#行行首

在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:".vimrc"。例如,/root目录下,通常已经存在一个.vimrc文件,如果不存在,则创建之。切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~打开自己目录下的.vimrc文件,执行vim .vimrc。

在里面可以设置常用配置,如:

  • 语法高亮:syntax on
  • 显示行号:set nu
  • 设置缩进空格数为4:set shiftwidth=4

再次用vim打开文件时,就会自动有相应的配置。给自己用户配置的不会影响别的用户。

如果想要配置好看的vim,原生的配置功能可能不全,可以选择安装插件来完善配置。在网上也可以查到更详细的配置选项。

⭐一键配置美观的vim

Gitee-配置vim

安装方法

在 shell 中执行指令(想在哪个用户下让vim配置生效, 就在哪个用户下执行这个指令. 强烈 "不推荐" 直接在 root 下执行):

复制代码
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

卸载方法

在安装了 VimForCpp 的用户下执行:

复制代码
bash ~/.VimForCpp/uninstall.sh

配置结果展示:

如果期间有什么配置觉得不顺手,也可以去当前用户下的.vimrc中调整相关配置。

🔥结语

本篇博客主要介绍了Linux开发工具------vim,同时讲解了其三种模式的基本使用,也简单介绍了如何配置vim。尽管 vim 的学习曲线可能比其他编辑器陡峭,但一旦掌握了它的基本操作和概念,你会发现它是一个非常强大和高效的文本编辑工具。

相关推荐
东风西巷9 小时前
全能的3D创作平台,Blender(免费开源3D建模工具)
学习·3d·开源·blender·软件需求
汉堡包0019 小时前
【靶场练习】--DVWA第一关Brute Force(暴力破解)全难度分析
学习·安全
努力努力再努力wz10 小时前
【c++进阶系列】:map和set的模拟实现(附模拟实现的源码)
java·linux·运维·开发语言·c++
Cloud Traveler11 小时前
8.FC平台模块梳理
java·linux·开发语言
哦你看看11 小时前
linux故障排查
linux·运维·服务器
半桔11 小时前
【Linux手册】共享内存:零拷贝实现共享的优势与实操指南
linux·运维·服务器
Evan_ZGYF丶11 小时前
【RK3576】【Android14】如何在Android14下单独编译kernel-6.1?
linux·驱动开发·android14·rk3576
superior tigre12 小时前
1.linux环境配置+ssh远程连接vscode调试(问题:无法联网,无法共享粘贴板,不满足运行vscode服务器的先决条件)
linux·服务器·vscode
Katzelala14 小时前
[K8S学习笔记] Service和Ingress的关系
笔记·学习·kubernetes
有谁看见我的剑了?14 小时前
k8s-init容器学习
学习·容器·kubernetes