Linux vim使用方式学习纪要

2023-11-14

vim学习

在Linux下工作和学习,离不开vi和vim的使用,巧妙记住各种模式下的各种指令,不仅可以在工作中大大提高效率,还能装一个满分的哔
我比较菜,只会下面最常用的4种模式中的部分组合技能 (-。- 不过好像在我的开发工作中已经完全足够了。。。

模式:
  • 普通模式
  • 编辑模式
  • 命令模式
  • 可视模式

普通模式

光标移动
  • h, j, k, l, , ,
    • 数字 + 方向实现连续动作:3j:向下跳3行,8l:向右跳8列
  • b begin的意思,跳到这个单词的前面
  • w world的意思,跳到这个单词的后面
  • f + 字符: 向后移动到字符第一次出现的列位置
  • gg: 跳到文本开头
  • GG: 跳到文本结尾
  • ctrl + u: 向上翻页
  • ctrl + d: 向下翻页
赋值粘贴
  • y:复制,yank的意思,可以配合光标移动操作发挥作用
    • yy:赋值当前行
    • y + b:从单词头部复制到次光标处
    • y + w:从单词尾部复制到次光标处
    • y + aw:复制整个单词:yank all word的意思
    • y + f + 字符:向后复制到字符出现的列位置
    • y + [数字] + h/l:向左或右复制几列
    • y + [数字] + j/k:向下或上复制几行(包含本行)
    • y + gg:向上复制文本开头
    • y + GG:向下复制到文本结尾
  • p:粘贴,paste的意思
撤回
  • u:撤销,undo的意思
删除
  • d:删除,delete的意思,可以配合光标移动操作发挥作用
    • dd,删除当前行
    • d + [数字] + h/j,向下或上删除几行(包含本行)
查找
  • / + 关键字 + 回车:向下查找到一个出现的关键字的位置

  • ? + 关键字 + 回车:向上查找到一个出现的关键字的位置

  • n:按照/或者?指定的查找方向,正向查找下一个关键字的位置

  • N:按照/或者?指定的查找方向,反向查找下一个关键字的位置

在任何非普通模式下,点按Esc返回普通模式

输入模式

用于修改文本内容

普通模式下:

改变
  • c:改变
    • c + aw:改变整个单词
插入
  • i:在当前位置进行输入,大多数情况下使用i进入输入模式
提行输入
  • o:在下一行进行输入

命令模式

用于保存,退出

普通模式下,使用输入:进入

退出
  • q:退出,一般用于文本正确修改后退出
  • q!:强制退出,一般用于心虚,生怕改错了地方时退出
保存
  • w:保存
    • w + q + [!]:保存并退出(这里加不加叹号无异)

可视模式

普通模式下,使用输入v进入,一般用于选择性复制

切记

遇到改错的时候不要心急使用ctrl + c,静下心来回到普通模式,撤回和强退是你的定心丸

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux vim使用方式学习纪要 的相关文章

  • 简单的awk命令问题(FS、OFS相关)

    我尝试重新组织包含以下内容的文件的格式 gt Humanl chr16 86430087 86430726 element 1 positive gt Humanl chr16 85620095 85621736 element 2 neg
  • 为什么 gcc 会在显然不需要的时候生成 PLT?

    考虑这段代码 int foo int main foo while 1 int foo 在共享对象中实现 编译此代码gcc o main main c lfoo nostdlib m32 O2 e main no pic L shared给
  • Linux 在崩溃时自动重新启动应用程序 - 守护进程

    我有一个运行嵌入式 Linux 的系统 它的持续运行至关重要 基本上 它是一个与传感器通信并将数据中继到数据库和 Web 客户端的过程 如果发生崩溃 如何自动重启应用程序 此外 还有多个线程进行轮询 例如套接字和 uart 通信 如何确保没
  • WSL gprof 报告零次

    我正在尝试在 Windows 10 上的 WSL 中使用 gprof 我没有预料到会遇到任何困难 因为上次我在 Windows 7 上的 Ubuntu 虚拟盒中使用它时它工作得很好 与以前一样遵循来自https www thegeekstu
  • python os.path.exists() 对于存在的 nfs 挂载目录文件失败

    我基本上有一个用于网站的网络服务器和另一个仅存储文件的网络服务器 文件服务器通过安装其目录之一连接到主服务器 该网站运行 Django 所以我主要处理 python 不管怎样 我似乎遇到了一些问题 文件被报告为不存在 即使它们实际上存在 基
  • 错误:‘:’标记之前需要初始化程序

    我正在尝试编译一些 C 代码 可以在 Windows 上使用 Visual Studio 2012 进行编译 g 4 4 我有这段代码 const std string cnw restoreSession const std vector
  • 何时调用setsockopt?在bind()和connect()之前?

    我继承了一些 TCP 代码 调用 bind tcpSocket struct sockaddr server addr sizeof server addr 在致电之前 setsockopt tcpSocket SOL SOCKET SO
  • 移动除一个文件之外的所有文件

    如何移动除一个文件之外的所有文件 我正在寻找类似的东西 mv Linux Old Tux png Linux New 我将旧的东西移动到新的东西文件夹中 除了Tux png 符号代表否定 有一些工具可以完成这项工作吗 如果您使用 bash
  • Cmake 错误未定义对“pthread_create”的引用

    我对 cmake FindThreads 进行了测试 这是我的源代码test cpp和CMakeLists txt include
  • C++向量数组运算符计算成本高?

    我一直都知道 C 的丰富抽象会带来一定的计算开销 但我的印象是 一旦应用了正确的编译器优化 这种开销几乎可以忽略不计 我很好奇这种开销到底有多大 所以我编写了一个简单的测试来确定这一点 该测试是一个模板化函数 它接受一个容器变量 为容器中的
  • 在詹金斯管道作业中将变量传递给bash脚本

    我有一个 Jenkins 管道作业 其中我使用名为 setup sh 的 bash 脚本配置我的环境 如下所示 bin bash export ARCH 1 echo architecture ARCH 在 Jenkins 管道脚本中 我使
  • Linux GCC 上 的 C++ 编译问题

    尝试过谷歌并在这里搜索 但没有运气 我正在尝试将一些使用 Windows 的代码移植到 Linux 上 然后我得到了大量的编译错误 我所做的只是 include
  • Python select() 行为很奇怪

    我在理解 select select 的行为时遇到一些困难 请考虑以下 Python 程序 def str to hex s def dig n if n gt 9 return chr 65 10 n else return chr 48
  • 使用 sysfs 的 Linux 用户空间 GPIO 中断

    我想使用 sysfs 在用户空间上使用 GPIO 中断 我使用这些命令 root at91 gpio109 gt echo 109 gt export root at91 gpio109 gt cd gpio109 root at91 gp
  • 在vim中将命令映射到:w

    我怎样才能绘制地图Command S to w in vim 我已经尝试了其他线程中的所有内容 但似乎在 Mac OS X El Capitan 中不起作用 据说这在以前的版本中有效 但我尝试过 但没有成功 noremap
  • 在vim中显示单个空格不可见字符

    我已经添加了set listchars tab trail extends nbsp 用于显示不可见的字符 它适用于制表符扩展 但不适用于 nbsp 我已阅读以下帮助 set listchars并尝试了那里给出的示例 但我仍然没有得到单空格
  • top命令的CPU使用率计算

    我正在尝试使用 GNU coreutil top 的公式来计算 CPU 使用率的百分比 但 top 正在使用一些 half total 来计算百分比 即在百分比上添加 0 5 在top的utils c中 以下行 在 3 8 beta1 中
  • 共享库 RPATH 和二进制 RPATH 优先级

    如果共享库链接到二进制文件 并且共享库还依赖于其他库 则共享库的 RPATH 和二进制文件的 RPATH 的优先级 链接器搜索顺序 是什么 二进制文件的 RPATH 是否可以覆盖共享库中的 RPATH 我在共享库RPATH中设置的 ORIG
  • 如何安装 Node 和 NPM 以便不必使用 sudo?

    我正在尝试在 Ubuntu 14 04 计算机上设置 Node js 和 NPM 但遇到了一些问题 在我的第一次尝试中 我不断得到EACCES尝试安装软件包时出错 有时甚至使用sudo 所以我彻底卸载了node和npm 现在我正在尝试找出如
  • 如何在 Vim 中对数字和文字列进行排序

    使用 Vim 6 0 假设我正在编辑这个文件 sdfsdg dfgdfg 34 12 2 4 45 1 34 5 如何对第二列进行排序 如果您有合适的 shell 请选择您的号码并运行命令 lt gt sort n k 2 如果您要在视觉模

随机推荐

  • FPGA开发流程概述

    Lesson 3 FPGA开发流程概述 开始学习FPGA 想尽快上手FPGA开发 那么先来了解一下FPGA的开发流程 1 需求分析到模块划分 需求说明文档 器件选择 逻辑资源 功耗 IO数量 封装等等 配置电路考虑 开发工具选择 电路板的可
  • 数据结构与算法实验-实验一:线性表基本操作

    线性表基本操作 文章目录 线性表基本操作 题目1 题目2 题目3 题目1 线性表是最常见和常用的ADT 假设线性表的元素为整数 请基于顺序存储结构实现线性表ADT 基本功能包括 1 建立线性表 输入有两行 第一行是一个整数n 线性表的长度
  • SpringMVC自定义视图完成步骤 和 视图解析的源码剖析

    自定义视图完成步骤 7 2 1自定义视图完成步骤 1 自定义视图 创建一个 View 的 bean 该 bean 需要继承自 AbstractView 并实现 renderMergedOutputModel 方法 2 并把自定义 View
  • 【项目实战】在win10上安装配置Hadoop的环境变量

    一 说明 注意 该教程适用于 远程连接Linux上的Hadoop集群 因此本步骤是不需要在本地再下载hadoop的 在win10操作系统上 运行Hadoop以及其相关依赖包 比如Hbase依赖包 时 我遇到的情况是 我需要使用SpringB
  • 素数(埃式筛法、线性筛法)

    文章目录 素数判断方法 埃式筛法 线性筛法 区间筛法 质因数分解 例题 第一题 第二题 第三题 素数判断方法 最简单的就是从 2 n 1 都去与 n 取余 看是否能整除 bool prime int n for int i 2 i lt n
  • 使用linuxdeployqt在linux下进行Qt打包发布(超详细)

    首先 来说下 本教程实现的功能 在linux下对开发的Qt应用 进行拷贝依赖文件so等 并打成deb安装包 实现可安装 卸载 安装完毕自动在开始菜单下和桌面添加快捷方式 卸载后自动删除快捷方式 以及删除应用生成的log文件 测试环境 ubu
  • 自学Android资料大全

    学习级别 很多人都往往划分成入门 初级 中间 骨灰级等 这里就简单地划分为两级 基础篇和进阶篇 另外 本文涉及到的所有书籍都是在学习过程中所读过的比较经典的一些书籍 一 基础篇 看书的姿态 学习过程往往大家都需要看书 网上一搜 往往会有一大
  • 浪潮服务器更换硬盘_携手希捷,浪潮领先业界完成希捷银河(Exos)X18企业级硬盘评测...

    全球领先的数据存储解决方案提供商希捷科技 NASDAQ STX 宣布 携手浪潮完成对希捷银河 Exos X18企业级硬盘的评估 该硬盘拥有目前业界最高的18TB超大容量 性能卓越 用于承载大规模数据中心的海量数据 双方在实际工作负载环境中测
  • Python @函数装饰器及用法(超级详细)

    使用 符号引用已有的函数 比如 staticmethod classmethod 后 可用于修饰其他函数 装饰被修饰的函数 那么我们是否可以开发自定义的函数装饰器呢 答案是肯定的 当程序使用 函数 比如函数 A 装饰另一个函数 比如函数 B
  • AcWing 420. 火星人

    y总讲得很好 学到很多所以安利一下 转载自Acwing yxc 算法 贪心 全排列 O nm O nm 这道题目可以直接用next permutation函数来做 这里我们考虑一下next permutation函数的原理 然后手动实现一遍
  • c++ modbusTCP

    Modbus TCP是一种基于TCP IP协议的Modbus协议 它允许Modbus协议通过以太网进行通信 在C 中 可以使用第三方库来实现Modbus TCP通信 例如libmodbus和QModbus 使用libmodbus库实现Mod
  • 介绍一种巧妙的删除程序自己的方法

    介绍一种巧妙的删除程序自己的方法 vcbear 近日看到网友询问如何实现程序运行之后把自己删除的方法 不知大家对木马甚么的兴趣实在太浓 还是想要这样的效果 用户只要一运行程序 可执行文件就没有了 可是程序还是在跑 胆小的只怕要喊 鬼呀 老婆
  • Pytorch英文官方文档学习笔记(三、Torch.nn及torch.optim)

    一 nn Module的使用 Every module in PyTorch subclasses the nn Module 自己定义的每个module都一定是nn Module的子类 pytorch在nn Module中 实现了 cal
  • lod地形

    lod地形 2014 05 17 23 29 1471人阅读 评论 0 收藏 举报 分类 图形学 17 OGRE相关 75 目录 http blog sina com cn s blog 5e3213f30100zxet html 最近在看
  • 对于同步和非同步,阻塞和非阻塞,BIO,NIO的概念的回顾

    同步和异步 同步和异步其实是指CPU时间片的利用 主要看请求发起方对消息结果的获取是主动发起的 还是被动通知的 如下图所示 如果是请求方主动发起的 一直在等待应答结果 同步阻塞 或者可以先去处理其他事情 但要不断轮询查看发起的请求是否有应答
  • 阿里云服务器实现 frp 内网穿透

    更多精彩内容请访问我的新博客站点 前言 前几天在一台具有公网IP的 vultr 云服务器上实现了 frp 内网穿透 参考链接 可以从寝室 ssh 登录到教研室的服务器 但是由于 vultr 的云服务器位于国外的节点 连接速度太慢了 导致连接
  • 信息采编功能扩展开发心得

    AEAI Portal门户为前端页面集成层而设计 在使用上简单 便捷 即使是非技术人员 通过操作文档也能够很好地将网站配置出来 不需要自身有很强的代码能力 同时门户平台搭配数通畅联的其他产品和组合方案 能够帮助企业快速搭建集成的 内容丰富
  • GoLand之学习之路--持续更新

    GoLand之学习之路 持续更新 基础包 time 获取当前时间 Bytes 多个 byte数组合并成一个 byte 高级用法 interface 得到调用者函数名 pprof sync Once 命令行参数实例 使用小技巧 string和
  • H264解码深度解析——DM8168 OMX从H264文件读取一帧数据(do chunking of h264)

    源码来源 TI DM8168 EZSDK OMX examples decode display 基本执行流程如下 Decode GetNextFrameSize H264 ParsingCtx pc 函数源码 加注释 如下 Decode
  • Linux vim使用方式学习纪要

    vim学习 在Linux下工作和学习 离不开vi和vim的使用 巧妙记住各种模式下的各种指令 不仅可以在工作中大大提高效率 还能装一个满分的哔 我比较菜 只会下面最常用的4种模式中的部分组合技能 不过好像在我的开发工作中已经完全足够了 模式