Ubuntu基础-vim编辑器

目录

前言:

一. 安装

二. 配置

三. 基本使用

1.使用 Vim 编辑文本文件

2.代码编辑

3.多窗口编辑

四. 总结


前言:

Vim 是从 VI 发展出来的一个文本编辑器,具有代码补充、错误跳转等功能,在程序员中被广泛使用。它的设计理念是命令的组合,通过各种文本间移动、跳转命令与其他普通模式的编辑命令灵活组合,可以更高效地进行文本编辑。

Vim 常见的模式有普通模式、插入模式、命令模式和可视模式。Vim 启动时进入普通模式,在其他模式下按下 Esc 键可回到普通模式。在普通模式下,按下 i、I、o、O、a、A、r、R 等键可进入插入模式,在插入模式下可进行文本编辑。在普通模式下,按下:键可进入命令模式,在命令模式下可执行查找、存盘、替换字符等操作。在普通模式下,按下 v 键可进入可视模式,可视模式相当于高亮选取文本后的普通模式,可视模式具有子模式,以行为单位进行选取的可视行模式,使用 V 键进入;和以块为单位进行选取的可视块模式,使用 Ctrl+v 键进入。

一. 安装

在 Ubuntu 系统中可以使用以下命令安装 Vim:

  1. 打开终端;
  2. 输入sudo apt install vim命令并按下回车键;
  3. 等待安装完成。

安装完成后,可以在终端中输入vim命令打开 Vim 编辑器。

输入vim,安装成功,会显示如下页面

二. 配置

" 设置显示行号
set nu" 设置缩进为 4 个空格
set tabstop=4
set shiftwidth=4
set expandtab" 开启语法高亮
syntax on" 显示状态栏
set laststatus=2" 开启自动缩进
set autoindent" 增强搜索匹配显示
set hlsearch" 不备份文件
set nobackup

没有的话 直接新建一个

vim ~/.vimrc

配置之后的效果展示

三. 基本使用

Vim 有多种工作模式,以下是一些基本使用方法:

  • 普通模式:打开 Vim 后默认进入普通模式,可使用方向键或hjkl键移动光标,使用x键删除字符,使用dd命令删除整行;
  • 插入模式:在普通模式下,按下iao等键可进入插入模式,此时可输入文本;
  • 命令模式:在普通模式下,输入:进入命令模式,可执行保存、退出、查找、替换等操作;
  • 可视化模式:在普通模式下,按下v键进入可视化模式,可选择文本进行复制、粘贴、删除等操作;
  • 替换模式:在普通模式下,按下R键进入替换模式,可替换文本。

1.使用 Vim 编辑文本文件

  • 打开终端,输入 vim 文件名 来打开指定的文本文件。如果文件不存在,Vim 会创建一个新的空文件。

        

  • 进入 Vim 后,默认处于普通模式。
  • 要进入插入模式来编辑文本,可以按 i(在当前光标位置前插入)、a(在当前光标位置后插入)、o(在当前行下一行插入新行并进入插入模式)等键。
  • 在插入模式下进行文本的输入、修改等操作。
  • 编辑完成后,按 Esc 键回到普通模式。
  • 在普通模式下,可以进行删除、复制、粘贴等操作,例如 dd 可删除当前行,yy 可复制当前行。
  • 若要保存文件,在普通模式下输入 :w 。
  • 若要退出 Vim ,输入 :q 。如果想保存并退出,输入 :wq 。如果有未保存的更改且不想保存直接退出,输入 :q! 。

2.代码编辑

以下是使用 Vim 进行代码编辑的一些常见操作和示例:

缩进和格式化

  • 可以使用 = 命令对选中的代码块进行自动缩进。

代码折叠

  • Vim 支持代码折叠,方便查看和管理大型代码块。

语法高亮

  • 不同编程语言会有相应的语法高亮显示,使代码结构更清晰。

快速移动

  • 比如使用 Ctrl+f 向前翻页, Ctrl+b 向后翻页。

查找和替换

  • 在命令模式下输入 /要查找的代码片段 进行查找。

在普通模式下使用=;

格式化

语法高亮

3.多窗口编辑

在 Vim 中,可以使用以下命令进行多窗口编辑:

  • :sp:split:水平分割窗口,在当前窗口下方打开一个新窗口,并显示相同的缓冲区内容。
  • :vs:vsplit:垂直分割窗口,在当前窗口右侧打开一个新窗口,并显示相同的缓冲区内容。
  • :new:打开一个新的窗口,并显示一个空的缓冲区。

例如,要同时编辑两个文件,可以使用以下命令:

  • vim file1 file2:在启动 Vim 时同时打开两个文件,每个文件占用一个窗口。
  • :sp file2:在当前窗口中打开文件file2,并水平分割窗口。
  • :vs file2:在当前窗口中打开文件file2,并垂直分割窗口。

在多个窗口之间切换,可以使用以下快捷键:

  • Ctrl+w+方向键:按方向键切换到前/下/上/后一个窗口。
  • Ctrl+w+h/j/k/l:切换到左/下/上/右边的窗口。
  • Ctrl+ww:依次向后切换到下一个窗口。

要调整窗口大小,可以使用以下快捷键:

  • Ctrl+w+:增加当前窗口的高度。
  • Ctrl+w-:减少当前窗口的高度。
  • Ctrl+w+>:增加当前窗口的宽度。
  • Ctrl+w+<:减少当前窗口的宽度。

要关闭当前窗口,可以使用以下命令:

  • :q:关闭当前窗口。
  • :qa:关闭所有窗口。

四. 总结

Vim 是一款功能强大且高度可定制的文本编辑器,具有以下主要特点和优势:

主要特点

  • 多种操作模式:包括普通模式、插入模式、命令模式等,不同模式下有特定的操作和功能。
  • 高效的编辑:提供了众多快捷键和命令,可快速移动光标、编辑文本、删除、复制、粘贴等。
  • 强大的搜索和替换:能进行精确的文本搜索和复杂的替换操作。
  • 语法高亮:支持多种编程语言的语法高亮显示,增强代码可读性。
  • 代码折叠:方便管理大型代码块。

优势

  • 轻量级:占用资源少,启动速度快。
  • 跨平台:可在多种操作系统上运行。
  • 可深度定制:通过修改 .vimrc 文件可以根据个人需求配置各种功能和外观。
  • 高度灵活:适应不同用户的工作方式和习惯,从新手到专业用户都能找到适合的使用方式。

总之,Vim 虽然有一定的学习曲线,但熟练掌握后能极大地提高文本编辑效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/349500.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

调用华为API实现车牌识别

目录 1.作者介绍2.华为云车牌识别2.1车牌识别技术2.2华为云OCR 3.实验过程3.1获取API密钥3.2Python代码实现3.3实验结果 参考链接 1.作者介绍 袁明懿&#xff0c;男&#xff0c;西安工程大学电子信息学院&#xff0c;2023级研究生 研究方向&#xff1a;机器视觉与人工智能 电子…

全方位·多层次·智能化,漫途水库大坝安全监测方案

党的十九届五中全会提出&#xff0c;到2025年前&#xff0c;完成新出现病险水库的除险加固&#xff0c;配套完善重点小型水库雨水情和安全监测设施&#xff0c;实现水库安全鉴定和除险加固常态化。 加快推进小型水库除险加固。加快构建气象卫星和测雨雷达、雨量站、水文站组成…

基于STM32和人工智能的智能家居监控系统

目录 引言环境准备智能家居监控系统基础代码实现&#xff1a;实现智能家居监控系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统4.4 用户界面与数据可视化应用场景&#xff1a;智能家居环境监控与管理问题解决方案与优化收尾与总结 1. 引言 随着智能家居技术的发展&…

【STM32】飞控设计

【一些入门知识】 1.飞行原理 【垂直运动】 当 mg&#xff1e;F1F2F3F4&#xff0c;此时做下降加速飞行 当 mg&#xff1c;F1F2F3F4&#xff0c;此时做升高加速飞行 当 mgF1F2F3F4 &#xff0c;此时垂直上保持匀速飞行。 【偏航飞行】 ω 4 ω 2 ≠ ω 1 ω 3 就会产生水…

maven学习小结

目录结构 maven为项目提供一个标准目录结构 环境配置 下载maven包后解压&#xff0c;配置解压目录的bin到path变量&#xff0c;然后终端mvn -v&#xff0c;有回显则表明maven安装成功 pom POM&#xff0c;Project Object Model&#xff0c;项目对象模型&#xff0c;是一个xm…

MySQL—多表查询—联合查询

一、引言 之前学习了连接查询。现在学习联合查询。 union&#xff1a;联合、联盟 对于union查询&#xff0c;就是把多次查询的结果合并起来&#xff0c;形成一个新的查询结果集 涉及到两个关键字&#xff1a;union 和 union all 注意&#xff1a; union 会把上面两个SQL查询…

人脸匹配——OpenCV

人脸匹配 导入所需的库加载dlib的人脸识别模型和面部检测器读取图片并转换为灰度图比较两张人脸选择图片并显示结果比较图片创建GUI界面运行GUI主循环运行显示全部代码 导入所需的库 cv2&#xff1a;OpenCV库&#xff0c;用于图像处理。 dlib&#xff1a;一个机器学习库&#x…

Python第二语言(十四、高阶基础)

目录 1. 闭包 1.1 使用闭包注意事项 1.2 小结 2. 装饰器&#xff1a;实际上也是一种闭包&#xff1b; 2.1 装饰器的写法&#xff08;闭包写法&#xff09; &#xff1a;基础写法&#xff0c;只是解释装饰器是怎么写的&#xff1b; 2.2 装饰器的语法糖写法&#xff1a;函数…

自动化数据驱动?最全接口自动化测试yaml数据驱动实战

前言 我们在做自动化测试的时候&#xff0c;通常会把配置信息和测试数据存储到特定的文件中&#xff0c;以实现数据和脚本的分离&#xff0c;从而提高代码的易读性和可维护性&#xff0c;便于后期优化。 而配置文件的形式更是多种多样&#xff0c;比如&#xff1a;ini、yaml、…

Vue项目实践:使用滚动下拉分页优化大数据展示页面【通过防抖加标志位进行方案优化】

Vue项目实践&#xff1a;使用滚动下拉分页优化大数据展示页面 前言 传统的分页机制通过点击页码来加载更多内容&#xff0c;虽然直观&#xff0c;但在处理大量数据时可能会导致用户体验不佳。相比之下&#xff0c;滚动下拉分页能够在用户滚动到页面底部时自动加载更多内容&…

使用difflib实现文件差异比较用html显示

1.默认方式&#xff0c;其中加入文本过长&#xff0c;需要换行&#xff0c;因此做 contenthtml_output.replace(</style>,table.diff td {word-wrap: break-word;white-space: pre-wrap;max-width: 100%;}</style>)&#xff0c;添加换行操作 ps&#xff1a;当前te…

人工智能和机器学习这两个概念有什么区别?

什么是人工智能&#xff1f; 先来说下人工智能&#xff0c;人工智能&#xff08;Artificial Intelligence&#xff09;&#xff0c;英文缩写为AI&#xff0c;通俗来讲就是用机器去做在过去只有人能做的事。 人工智能最早是由图灵提出的&#xff0c;在1950年&#xff0c;计算机…

Syncovery:跨平台高效文件备份与同步的得力助手

在数字化时代&#xff0c;数据安全与文件同步已成为个人及企业不可或缺的需求。Syncovery作为一款专为Mac和Windows用户设计的文件备份和同步工具&#xff0c;凭借其高效、安全和易用的特点&#xff0c;赢得了广泛赞誉。 一、强大备份功能 Syncovery支持多种备份方案和数据格…

AI宣传文案软件有哪些?5款AI软件推荐

AI宣传文案软件有哪些&#xff1f;AI宣传文案软件在现代营销和创意产业中扮演着越来越重要的角色&#xff0c;它们凭借先进的自然语言处理、机器学习和深度学习技术&#xff0c;不仅解放了创作者的双手&#xff0c;还大大提升了文案的生成效率和质量。这些软件能够精准捕捉用户…

防火墙安全管理

大多数企业通过互联网传输关键数据&#xff0c;因此部署适当的网络安全措施是必要的&#xff0c;拥有足够的网络安全措施可以为网络基础设施提供大量的保护&#xff0c;防止黑客、恶意用户、病毒攻击和数据盗窃。 网络安全结合了多层保护来限制恶意用户&#xff0c;并仅允许授…

分布式事务的八种方案解析(1)

针对不同的分布式场景业界常见的解决方案有2PC、TCC、可靠消息最终一致性、最大努力通知等方案&#xff0c;以下总结8 种常见的解决方案&#xff0c;帮助大家在实际的分布式系统中更好地运用事务。 1.2PC 二阶段提交协议&#xff08;Two-phase commit protocol&#xff09;&…

微信小程序毕业设计-实验室管理系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…

(三十九)Vue之集中式的状态管理机制Vuex

目录 概念vuex的核心概念State&#xff08;状态&#xff09;Getters&#xff08;获取器&#xff09;Mutations&#xff08;突变&#xff09;Actions&#xff08;动作&#xff09; 搭建vuex环境基本使用getters的使用 上一篇&#xff1a;&#xff08;三十八&#xff09;Vue之插槽…

安装台式电脑网卡驱动

安装电脑网卡驱动 1. 概述2. 具体方法2.1 先确定主板型号2.2 详细操作步骤如下2.2.1 方法一2.2.2 方法二2.2 主流主板官网地址 结束语 1. 概述 遇到重装系统后、或者遇到网卡驱动出现问题没有网络时&#xff0c;当不知道怎么办时&#xff0c;以下的方法&#xff0c;可以作为一…

工业烤箱设备厂家:专业制造,助力工业发展

随着现代工业的不断发展&#xff0c;工业烤箱设备在各个领域的应用越来越广泛。作为专业的工业烤箱设备厂家&#xff0c;我们致力于为客户提供高质量、高效率的烤箱设备&#xff0c;助力工业生产的顺利进行。 工业烤箱设备在工业生产中扮演着至关重要的角色。无论是电子、化工、…