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

计算机工具基础(五)——Vim

Vim

MIT《Missing in CS Class(2020):Class 3》笔记

Vim是终端环境中常用的纯文本编辑器。Vim的默认配置文件位于~/.vimrc

模式

Vim有如下5种模式:

  • 常规模式(Normal):进入Vim后的默认模式,用于阅读文件。以Esc自其他模式中退至此模式
  • 插入模式(Insert):用于插入文本,以i进入
  • 替换模式(Replace):用于替换文本,以r进入
  • 可视模式(Visual):用于选中文本,与在其他编辑器中按Shift+方向键选中文本等效。分为普通可视模式(以字符为单位,以v进入)、行可视模式(以行为单位,以V进入)、块可视模式(纵向选择,以Ctrl-v进入)。
  • 命令模式(Command):用于执行某些命令,以:进入

会话、缓存、标签、窗口

  • 会话(Session):保存了vim的完整工作状态,包括缓存、窗口、标签、选项等。
  • 缓存(Buffer):缓存是加载进内存中的文件,每个文件对应一个缓存。关闭窗口不会清除缓存。
  • 标签(Tab):标签负责组织窗口,每个标签包含独立的窗口布局。类似于桌面操作系统的一个桌面。Vim默认打开一个标签页,仅包含一个窗口。
  • 窗口(Window):标签页内的视图,显示缓存内容。一个标签可分割出多个窗口。

命令

以下命令适用于命令模式,不要与常规模式中的操作混淆。

  • q退出所在窗口(但不退出缓存)

    qa:退出所有窗口(但不退出缓存)
    q!:强制退出所在窗口(在缓存未写入文件的情形下)

  • w保存缓存内容至文件

  • wq保存缓存内容并退出窗口

  • e <file_name>:在此窗口覆盖的打开文件<file_name>

  • help <command>:查阅<command>的帮助手册。注意若为命令,需为:<command>

  • set <options>:用于设置选项

  • sp <file_name>水平分割。将<file_name>加载进缓存,在同一标签页内,在此窗口的下方分离出新窗口,显示内容为<file_name>。若不指定<file_name>,则分离当前窗口所显示的缓存。

    vsp <file_name>垂直分割。将<file_name>加载进缓存,在同一标签页内,在此窗口的右方分离出新窗口,显示内容为<file_name>。若不指定<file_name>,则分离当前窗口所显示的缓存。

  • tabnew <file_name>:将<file_name>加载进缓存,新建一个tab,显示内容为<file_name>

  • tabn:切换到下一个(next)标签
    tabp:切换到上一个(previous)标签

快捷键

常规模式

  • G:跳到文尾 gg:跳到文首
  • H:左 J:下 K:上 L:右
  • w:word,跳至下个词首 b:begin,跳至上个词首 e:end,跳至下个词尾
  • 0:移动至行首 $:移动至行尾 ^:移动至本行首个非空字符
  • Ctrl-f:向上翻一页 Ctrl-b:向下翻一页
  • Ctrl-u:向上翻半页 Ctrl-d:向下翻半页
  • /<pattern>向后匹配模式串<pattern> ?<pattern>向前匹配字符串<pattern>
  • n:当前匹配方向的下个匹配 N:当前匹配方向的上个匹配
  • u:撤销 Ctrl-r:重做
  • y:复制(默认复制当前光标字符,可通过进入可视模式选中内容) p:粘贴

命令模式

  • Ctrl-w + 方向键:切换窗口

格式化代码

常规模式下:gg=G

相关文章:

计算机工具基础(五)——Vim

Vim MIT《Missing in CS Class(2020):Class 3》笔记 Vim是终端环境中常用的纯文本编辑器。Vim的默认配置文件位于~/.vimrc 模式 Vim有如下5种模式&#xff1a; 常规模式(Normal)&#xff1a;进入Vim后的默认模式&#xff0c;用于阅读文件。以Esc自其他模式中退至此模式插入模…...

Android应用app实现AI电话机器人接打电话

Android应用app实现AI电话机器人接打电话 --安卓AI电话机器人 一、前言 【Dialer3.0智能拨号器】Android版手机app&#xff0c;由于采用蓝牙电话的方式来调用手机SIM卡发起呼叫、接听来电&#xff0c;并接收和处理通话的声音&#xff0c;通常我们以“蓝牙电话方案”来称呼它。 …...

Mobaxterm服务器常用命令(持续更新)

切换文件夹 cd path # for example, cd /gpu03/deeplearning/进入不同GPU ssh mgmt ssh gpu01 ssh gpu03寻找文件位置 find /path -name file_name #for example, find / -name lib #在根目录下搜寻名为lib文件 #for example, find /home/deeplearning -name "lib"…...

Android14窗口管理自适应投屏分辨率

环境 console:/ # cat /proc/version Linux version 6.1.57 (机密信息) (Android (10087095, pgo, bolt, lto, -mlgo, based on r487747c) clang version 17.0.2 (https://android.googlesource.com/toolchain/llvm-project d9f89f4d16663d5012e5c09495f3b30ece3d2362), LLD 17…...

Shot Studio for macOS 发布 1.0.2

Shot Studio 是一个 macOS 的 app&#xff0c;专门为开发者设计&#xff0c;主要用于各大 app 应用商店的预览图设计。 提供了非常多的模板&#xff0c;也预设了很多尺寸。可以直接一键使用 在 1.0.2 这个版本中新增了&#xff1a; 文本渐变 图层&#xff1a;边框、颜色、圆…...

《深度学习实战》第4集:Transformer 架构与自然语言处理(NLP)

《深度学习实战》第4集&#xff1a;Transformer 架构与自然语言处理&#xff08;NLP&#xff09; 在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;Transformer 架构的出现彻底改变了传统的序列建模方法。它不仅成为现代 NLP 的核心&#xff0c;还推动了诸如 BERT、…...

Starrocks入门(二)

1、背景&#xff1a;考虑到Starrocks入门这篇文章&#xff0c;安装的是3.0.1版本的SR&#xff0c;参考&#xff1a;Starrocks入门-CSDN博客 但是官网的文档&#xff0c;没有对应3.0.x版本的资料&#xff0c;却有3.2或者3.3或者3.4或者3.1或者2.5版本的资料&#xff0c;不要用较…...

银河麒麟高级服务器操作系统在线调整/pro/{PID}/limits文件中nofile的软限制和硬限制参数值操作方法

银河麒麟高级服务器操作系统在线调整/pro/{PID}/limits文件中nofile的软限制和硬限制参数值操作方法 一 系统环境二 使用场景三 操作步骤 一 系统环境 [rootlocalhost ~]# nkvers ############## Kylin Linux Version ################# Release: Kylin Linux Advanced Server…...

html css js网页制作成品——HTML+CSS甜品店网页设计(5页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

Open WebUI项目源码学习记录(从0开始基于纯CPU环境部署一个网页Chat服务)

感谢您点开这篇文章:D&#xff0c;鼠鼠我是一个代码小白&#xff0c;下文是学习开源项目Open WebUI过程中的一点笔记记录&#xff0c;希望能帮助到你&#xff5e; 本人菜鸟&#xff0c;持续成长&#xff0c;能力不足有疏漏的地方欢迎一起探讨指正&#xff0c;比心心&#xff5e…...

【Python 入门基础】—— 人工智能“超级引擎”,AI界的“瑞士军刀”,

欢迎来到ZyyOvO的博客✨&#xff0c;一个关于探索技术的角落&#xff0c;记录学习的点滴&#x1f4d6;&#xff0c;分享实用的技巧&#x1f6e0;️&#xff0c;偶尔还有一些奇思妙想&#x1f4a1; 本文由ZyyOvO原创✍️&#xff0c;感谢支持❤️&#xff01;请尊重原创&#x1…...

蓝桥杯练习代码

一、最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 ""。 示例 1&#xff1a; 输入&#xff1a;strs ["flower","flow","flight"] 输出&#xff1a;"fl"示例…...

Imagination通过最新的D系列GPU IP将效率提升至新高度

Imagination DXTP GPU IP在加速移动设备和其他电力受限设备上的图形和计算工作负载时&#xff0c;能够延长电池续航时间。 英国伦敦 – 2025年2月25日 – 今日&#xff0c;Imagination Technologies&#xff08;“Imagination”&#xff09;宣布推出其最新的GPU IP——Imagina…...

C高级——shell(3)

一、shell的选择结构 1.回顾&#xff1a;C语言的选择结构:if , if else if ,if else,switch &#xff08;switch的执行速度最快&#xff09; 2.shell的选择结构&#xff1a; 单分支if 双分支 if else 多分支if elif case..in 1.1 shell的选择结构的格式 --------C语言的格式--…...

【C语言】第八期——指针、二维数组与字符串

目录 1 初始指针 2 获取变量的地址 3 定义指针变量、取地址、取值 3.1 定义指针变量 3.2 取地址、取值 4 对指针变量进行读写操作 5 指针变量作为函数参数 6 数组与指针 6.1 指针元素指向数组 6.2 指针加减运算&#xff08;了解&#xff09; 6.2.1 指针加减具体数字…...

docker 运行claude 的computer use

需要注意的是&#xff1a;这里claude操纵的是docker的虚拟服务器&#xff0c;不能访问本地url&#xff0c;需要进行端口转发 export ANTHROPIC_API_KEY%your_api_key% docker run \-e ANTHROPIC_API_KEY$ANTHROPIC_API_KEY \-v $HOME/.anthropic:/home/computeruse/.anthropi…...

JAVA面试_进阶部分_23种设计模式总结

1. 单例模式&#xff1a;确保某一个类只有一个实例&#xff0c;而且自行实例化并向整个系统提供这 个实例。 &#xff08;1&#xff09;懒汉式 public class Singleton { /* 持有私有静态实例&#xff0c;防止被引用&#xff0c;此处赋值为null&#xff0c;目的是实现延迟加载…...

边缘计算收益低的三大指标

边缘计算收益低的三大指标主要包括以下方面&#xff1a; 1. 资源贡献不足&#xff1a; 边缘计算的收益通常基于所提供的带宽、存储和计算资源来计算。如果设备的网络带宽有限、在线时间短或提供的存储容量较小&#xff0c;可能无法满足平台设定的最低贡献标准&#xff0c;从而导…...

Linux网络之传输层协议(UDP,TCP协议)

目录 重新认识端口号 端口号划分 netstat pidof UDP协议 UDP的特点 面向数据报 UDP的缓冲区 全双工和半双工 TCP协议 TCP的特点 TCP报头分析 源端口&#xff0c;目标端口&#xff0c;数据偏移(报文首部长度) 序号 确认号 窗口 6个标志位 ACK SYN …...

傅里叶分析

傅里叶分析之掐死教程&#xff08;完整版&#xff09;更新于2014.06.06 要让读者在不看任何数学公式的情况下理解傅里叶分析。 傅里叶分析不仅仅是一个数学工具&#xff0c;更是一种可以彻底颠覆一个人以前世界观的思维模式。但不幸的是&#xff0c;傅里叶分析的公式看起来太复…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...

Python Einops库:深度学习中的张量操作革命

Einops&#xff08;爱因斯坦操作库&#xff09;就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库&#xff0c;用类似自然语言的表达式替代了晦涩的API调用&#xff0c;彻底改变了深度学习工程…...

安卓基础(Java 和 Gradle 版本)

1. 设置项目的 JDK 版本 方法1&#xff1a;通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分&#xff0c;设置 Gradle JDK 方法2&#xff1a;通过 Settings File → Settings... (或 CtrlAltS)…...

自然语言处理——文本分类

文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益&#xff08;IG&#xff09; 分类器设计贝叶斯理论&#xff1a;线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别&#xff0c; 有单标签多类别文本分类和多…...

sshd代码修改banner

sshd服务连接之后会收到字符串&#xff1a; SSH-2.0-OpenSSH_9.5 容易被hacker识别此服务为sshd服务。 是否可以通过修改此banner达到让人无法识别此服务的目的呢&#xff1f; 不能。因为这是写的SSH的协议中的。 也就是协议规定了banner必须这么写。 SSH- 开头&#xff0c…...