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

【Linux玩物志】Linux环境开发基本工具使用(1)——vim

W...Y的主页 😊

代码仓库分享💕

 

Linux开发工具

首先我们要知道vim是什么?

vi(Visual Editor)是由美国程序员比尔·乌尔曼(Bill Joy)于1976年开发的,最初是为了在Unix系统上进行文本编辑而创建的。它是一款基于模式编辑的文本编辑器,以其高效的键盘快捷键而闻名,可在终端环境下使用。vi 成为Unix系统中的标准文本编辑器,并且在大多数Unix和Linux系统上内置。

vim(Vi IMproved):vim 由布莱姆·米特尔斯(Bram Moolenaar)于1991年开发,旨在改进 vi 的功能,并为用户提供更多的功能。vim 添加了许多新特性,如多级撤销、语法高亮、自动缩进、宏录制、拼写检查、插件支持等。vim 还提供了更多的定制选项,使用户能够根据自己的需求进行配置。vim 成为了 vi 的一个增强版本,但也保留了 vi 的基本编辑功能和键盘快捷键。

vi 是老式的字处理器,功能齐全。而 vim 则可以说是基于vi上的程序开发者的一项很好用的工具。 连 vim 的官方网站 自己也说 vim 是一个程序开发工具而不是文字处理软件。当然了我们这里主要以vim作为讲解。

Linux编辑器-vim使用

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

1. vim的基本概念

我们讲解vim的三种模式(其实有好多模式,目前掌握这3种即可),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 

正常/普通/命令模式(Normal mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
末行模式(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入
:help vim-modes
我这里一共有12种模式:six BASIC modes和six ADDITIONAL modes.

2. vim的基本操作

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

$ vim test.c
不过有一点要特别注意,就是你进入vim之后,是处于[正常模式],你要切换到[插入模式]才能够输入文字。

[正常模式]切换至[插入模式]

输入a  输入i  输入o 

[插入模式]切换至[正常模式]

目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。

[正常模式]切换至[末行模式]

「shift + ;」, 其实就是输入「:」

退出vim及保存文件,在[正常模式]下,按一下「:」冒号键进入「Last line mode」,例如:

: w (保存当前文件)

: wq (输入「wq」,存盘并退出vim)
: q! (输入q!,不存盘强制退出vim)

 3.vim命令集

命令模式

 底行模式

批量化写注释

 

4.简单vim配置

 配置文件的位置

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

常用配置选项,用来测试

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

这里采用的是手动配置,对一些新手不够友好,所以博主为大家提供一个自动化配置:VimForCpp

特点:

  • 安装速度快(使用码云而不是github作为源). 网络畅通情况下, 几分钟内完成 vim 插件安装.
  • 无需编译直接使用 YouCompleteMe(直接下载预编译好的 ycm_core.so).
  • 一键式安装. 真正做到一键式安装. 不光能一键式安装 Vim 配置, 同时也会安装依赖的程序(包括 git, neovim, ctags等)

支持环境:

目前只支持 Centos7 x86_64. 后面会考虑 Ubuntu 等发行版的支持.

详细内容在下方链接查看:

VimForCpp详细安装教程icon-default.png?t=N7T8https://gitee.com/HGtz2222/VimForCpp

记住一定要在非root用户中使用,并且在自己的家目录下创建一个.vimrc的隐藏文件哦!!!

 

 

 

http://www.lryc.cn/news/350614.html

相关文章:

  • Lora训练Windows[笔记]
  • nuget局域网在线包制作,nuget打包,nuget打自己的包
  • Ubuntu 24 换国内源及原理 (阿里源)
  • python学习-使用pandas库分析excel表,并导出所需的表
  • Python中使用C扩展详解
  • llama使用tutorial微调(windows版本)
  • MyBatis操作数据库(动态SQL)
  • python发票真伪查验开发文档、票据OCR、数电票查验
  • Unity构建详解(12)——自动构建
  • 中文编程降低了中文环境下编程入门的门槛
  • 通过内网穿透免费部署我们的springboot+vue项目 实现跟服务器一样的效果
  • SMB攻击利用之-mimikatz上传/下载流量数据包逆向分析
  • Mysql常见数据类型探索
  • 2024 年第四届长三角高校数学建模竞赛赛题B题超详细解题思路+问题一二代码分享
  • 干货速学!1+X电子商务数据分析:电子商务数据分析的流程
  • 618好物推荐大赏:2024年必囤好物一网打尽,购物攻略助你抢购无忧!
  • 【MySQL】基础操作(DDL,DML,DCL,DQL)
  • 工厂自动化升级改造(3)-Modbus与MQTT的转换
  • InnoDB 事务处理机制
  • Thymeleaf
  • 网络学习(一)|深入了解API网关:定义、功能和关键术语
  • 基于yolov8+flask搭建一个web版本的网页模型预测系统
  • 【北京迅为】《iTOP-3588从零搭建ubuntu环境手册》-第8章 安装编译所需要的依赖包
  • 牛客热题:合并二叉树
  • conda 常用20个命令
  • Git泄露(续)
  • clickhouse卸载与安装
  • npm install [Error]
  • Redisson分布式锁全解析:从基础到红锁,锁定高并发解决方案
  • RocketMQ-Dashboard 控制台使用详解