03. vim编辑器的使用

news/2025/3/10 18:30:00/文章来源:https://www.cnblogs.com/FlurryHeart/p/18694770

一、vim编辑器的使用

  vim 是 Unix 和 类 Unix 操作系统中常用的文本编辑器。如果 Ubuntu 系统默认没有安装 vim,我们可以使用 apt 工具安装 vim 编辑器。

没有安装vim

sudo apt install vim

  安装好 vim 之后,我们可以如下命令编辑一个文件。

vim 文件

  用 vim 打开一个文件就直接进入了 一般模式(这是默认的模式)。在这种模式中,我们可以使用上下左右的方向键来控制光标移动。我们也可以使用一些快捷键来快速操作文件。

快捷键 功能
yy 复制光标所在的一行
数字yy 或 y数字y 复制从光标开始后的n行
dd 剪切光标所在的一行
数字dd 或 d数字d 剪切从光标开始后的n行
p 粘贴内容到光标后
x 剪切当前光标所在的字符
X 剪切当前光标的前一个字符
yw 复制一个词
dw 剪切一个词
u 撤销上一步
shift + 6(^) 移动到行头
shift + 4($) 移动到行尾
1 + shift + g 移动到页头
shift + g 移动到页尾
数字 + shift + g 移动到目标行

vim的一般模式

  在一般模式下,我们可以进行复制、剪切、粘贴等操作,但是却无法编辑文件内容。这时,我们可以按下 iIoOaA 等任何一个字母进入 编辑模式。在 Linux 中,按下以上按键时,会在窗口的左下角出现 -- INSERT -- 的字样,表示已经进入了编辑模式。如果我们想要返回到 一般模式 时,则可以按下 ESC 键退出编辑模式。

快捷键 功能
i 当前光标前
I 光标所在的行头
a 当前光标后
A 光标所在的行尾
o 当前光标所在行的下一行
O 当前光标所在行的上一行

vim的编辑模式

  在 一般模式 中,输入 :/? 三个字符中的任意一个会进入 指令模式。在这个模式下,我们可以通过一些命令进行一些操作。

指令 功能
:w 保存
:q 退出
:! 强制执行
/要查找的词 n:查找下一个;N:往上查找
:noh 取消光亮显示
:set nu 或 :set number 显示行号
:set nonu 或 :set nonumber 取消显示行号
:%s/old(要替换的内容)/new(替换的文本) /g 替换内容/g/global 替换匹配的所有内容

vim的指令模式

  如果我们想要 vim 永久显示行号,此时我们可以修改 vim 的配置文件(vimrc)。

sudo vim /etc/vim/vimrc

  然后,我们在 vim 的配置文件 vimrc 中的最后添加显示行号的代码。

set nu

set number

  我们还可以设置 vim 中的自动缩进和使用 Tab 键缩进的空格大小。

set tabstop=4
set shiftwidth=4
set expandtab
  • tabstop=4 :设置 Tab 键的宽度为 4 个空格。
  • shiftwidth=4 :设置每次缩进的空格数为 4。
  • expandtab :将 Tab 转换为相应数量的空格。

  最后,我们保存 vim 的配置文件。

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

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

相关文章

“简单”学英语

本文总结了本人作为英语学渣的较为无痛的学习英语方法,无痛当然学习时间长一些,但相对简单一些,实操性强。 前言 最近和人聊天时对方说,感觉没什么可以学,但又想学点什么,我回答:”学英语啊“。有人迷茫,不知道怎么发展时,我回答:“先学点英语啊”。有人在犹豫要不要…

路飞学城5-celery

Celery Celery是一个功能完备即插即用的异步任务队列系统。它适用于异步处理问题,当发送邮件、或者文件上传, 图像处理等等一些比较耗时的操作,我们可将其异步执行,这样用户不需要等待很久,提高用户体验。 文档:http://docs.jinkan.org/docs/celery/getting-started/index…

Linux 安装并使用 EasyConnect

x86_64-linux-gnu下载: 如果你下载之后要登入 https://yzftxdy.com 的话,你就先在浏览器里面输入这个网址,网站会弹出来给你下载的机会如果你的浏览器无法下载,你可以让别人帮你下载 .deb 文件。糖下载完了就 dpkg -i balabala.deb,于是你打开 "show apps"会找到…

[Jest] 测试快照

在对组件进行测试的时候,往往需要从两个方面进行测试:交互:确保组件在进行交互时功能正常 渲染:确保组件渲染输出正确(比如不会多一个或者少一个 DOM 元素)针对渲染方面的测试,我们就可以使用快照来进行测试。 所谓快照,就是给渲染出来的 DOM 元素拍一张“照片”(将最…

[React Jest] 测试 Hook

在进行 React 开发的时候,还有一个非常重要的功能模块,那就是 Hook,自定义 Hook 作为一块公共逻辑的抽离,也会像组件一样被用到多个地方,因此对 Hook 的测试也是非常有必要的。 Hook 没有办法像普通函数一样直接进行测试,因为在 React 中规中,Hook 必须要在组件里面使用…

07_LaTeX之绘图功能

除了排版文字,$\LaTeX{}$ 也支持用代码表示图形。不同的扩展已极大丰富了 $\LaTeX{}$ 的图形功能,`TikZ` 就是其中之一。本章将带你了解一些基本的绘图功能。07_\(\LaTeX{}\) 之绘图功能 目录07_\(\LaTeX{}\) 之绘图功能绘图语言简介\(\textrm{TikZ}\) 绘图语言\(\textrm{Tik…

《计算机网络》笔记——第四章 网络层

目录第4章 网络层网络层提供的两种服务网际协议IP虚拟互连网络分类的IP地址IP地址与硬件地址地址解析协议ARPIP数据报的格式IP层转发分组的流程划分子网和构造超网划分子网无分类编址CIDR(构造超网)最长前缀匹配网际控制报文协议ICMPICMP的应用互联网的路由选择协议 第4章 网络…

《计算机网络》笔记——第三章 数据链路层

计算机网络(第7版)谢希仁目录第3章 数据链路层使用点对点信道的数据链路层三个基本问题(1) 封装成帧(2) 透明传输(3) 差错检测点对点协议PPPPPP协议特点PPP协议的组成PPP协议的帧格式PPP协议的工作状态使用广播信道的数据链路层CSMA/CD协议使用集线器的星形拓扑以太网的信道利…

《计算机网络》笔记——第一章 概述

计算机网络(第7版)谢希仁目录第一章 概述互联网基础结构计算机网络的分类互联网的组成计算机网络的性能计算机网络体系结构TCP/IP的体系结构 第一章 概述 互联网基础结构 互联网服务提供者ISP(Internet Service Provider) 互联网交换点IXP(Internet Exchange Point)计算机…

解析几何笔记

数学 目录数学一、双根式Ex 1Ex 2二、极坐标Ex 1Ex 2三、平移齐次化Ex 1四、同构式Ex 1五、定比点差法Ex 1Ex 2六、极点极线和调和点列 一、双根式 将圆锥曲线和直线联立,展开并做韦达定理是困难的。但是考虑到任意二次方程都可以写成 \(g(x) = a(x_1 - x)(x_2 - x) = 0\) 的形…

线段树总集

引入 一个数列,单点修改(加),区间查询(和)。 上述问题有很多种解法,如树状数组、分块、平衡树等,今天的主题是著名的线段树。 正题 (不确保按难度升序排序,自己看着目录调顺序吧) 线段树基本原理 因为需要区间查询,所以我们希望有一些捷径能将部分的数的和提前算好…

攻防世界reverse难度3

真难做啊攻防世界Reverse3 哎,坐牢,哎,坐牢. 我从来没有觉得ctf有趣过.jpg painful secret-string-400 js虚拟机混淆 我理解错了,一直以为是所有代码翻译一遍. 结果发现是读取字节然后执行代码. 也就是说,它可以直接翻译成ascii码去掉无用的字节码.(还是看wp知道的,看的时候都懵…