首页 > 其他分享 >GVIM 使用技巧

GVIM 使用技巧

时间:2023-07-30 16:22:05浏览次数:51  
标签:技巧 GVIM 所在 模式 命令 按下 使用 光标

本文参考《GVIM 教程基于明德扬课程》哔哩哔哩_bilibili

1. GVIM三种模式

GVIM 有三个操作模式,分别是命令模式、编辑模式和列操作模式。

  • 默认 GVIM 是命令模式。
  • 在命令模式下,输入 i 进入编辑模式。
  • 在任何模式下,按 Esc 进入命令模式。
  • 在命令模式下,按 ctrl+q 进入列操作模式。

2. GVIM常用指令

  • 补全命令
    ctrl+p:编辑模式,输入开头字母,按下ctrl+p,会出现下拉菜单,此时按上下键寻找需要的代码,按回车选择。
  • 跳转命令
    gg:命令模式,跳转至第一行
    G:命令模式,跳转至最后一行
    :nu:命令模式,输入:加行号,跳到指定行号
    ~:命令模式,返回之前所在行
  • 搜索命令
    *:命令模式,光标位于所在代码上,按下*便可高亮所有该代码,按下n和N便可上下寻找
    n:向下寻找
    N:向上寻找
    /:按下”/+搜索内容“,也可以高亮所有搜索内容
  • 删除行命令
    dd:删除光标所在行
    2dd或d2d:删除光标所在后两行(算上光标所在行)
  • 复制粘贴行命令
    yy:复制光标所在行
    2yy或y2y:复制光标所在后两行(算上光标所在行)
    p:粘贴

3. GVIM高级技巧

  • 替换命令
    在命令模式下,输入:%s/xx/yy/gc,然后输入y点回车。%s表示作用与整个文档,xx表示文档中需要替换的内容;yy表示替换后的内容;gc是快捷命令中的指令不需要修改,随后y表示yes。
    如果需要在某个代码块中替换信号,比如将cnt替换为cnt0,这个代码块位于第10到第15行,则需要在命令模式下输入 :10:15s/cnt/cnt0/gc
  • 列删除方法:常用于删除连续几列中的某些字符

     比如现在要删除43到49行中的put
    step1:在编辑模式下选择43行的第3个字符到49行的第5个字符,如上图
    step2:按下Ctrl+q
    step3:按下Delete键

  • 列插入方法
    step1:按下Ctrl+q进入列操作模式
    step2:通过h、j、k、l选择要插入的范围 or 通过鼠标选择
    step3:选好范围后,按下大写的"I(i)",输入要插入的内容
    step4:按esc退出
  • 列复制方法
    step1:在编辑模式下选择
    step2:按下Ctrl+q
    step3:y+p

 

标签:技巧,GVIM,所在,模式,命令,按下,使用,光标
From: https://www.cnblogs.com/fukq/p/17589609.html

相关文章

  • Windows系统安装使用Scoop包管理器
      前言Scoop是Windows的命令行安装程序。如果用过Linux系统,使用apt-get工具安装过软件,或者用过Python,知道pip工具用于管理Python各种依赖包,那么理解Scoop就比较容易,这些工具的设计理念与使用方法都非常类似。Scoop一般用来管理绿色软件,即是一种通过解压压缩包即可就地使......
  • uniapp中使用i18n
    1.安装vue-i18n 2.根目录下新建locale文件夹,创建index.jsimport{createI18n}from'vue-i18n'importenfrom'./en.json'//locale文件夹下的英文配置importzhfrom'./zh.json'//中文配置importzhFanfrom'./zh-fan.json'//繁体配置const......
  • F5 LTM 知识点和实验 6-使用虚拟服务器处理流量
    第六章:使用虚拟服务器处理流量virtualserver类型前几章描述的场景,可以简单总结为,F5设备终结了一个会话,在client-side充当服务端,在server-side充当客户端,完成了一个全代理过程,这种模型的vs类型被称为标准类型。一般在你需要将流量做负载等场景时需要。但是你也许不需要对流量做......
  • C# 使用SIMD向量类型加速浮点数组求和运算(4):用引用代替指针, 摆脱unsafe关键字,兼谈Unsa
    作者:zyl910目录一、引言二、办法说明2.1历史2.2局部引用变量与引用所指的值(类似指针的地址运算符&、间接运算符*)2.3重新分配局部引用变量(类似指针直接赋值)2.4引用地址调整(类似指针加减法)2.5引用地址比较(类似指针比较)2.6重新解释(类似C++的reinterpret_cast)2.7引用取消只......
  • java使用线程池实现接口自动化中的并发测试
    importjava.util.concurrent.ExecutionException;importjava.util.concurrent.ExecutorService;importjava.util.concurrent.Executors;importjava.util.concurrent.Future;publicvoidtest()throwsExecutionException,InterruptedException{ExecutorServ......
  • Kafka集群安装/使用
    一.介绍Kafka是Apache旗下的一款分布式流媒体平台,Kafka是一种高吞吐量、持久性、分布式的发布订阅的消息队列系统。它最初由LinkedIn(领英)公司发布,使用Scala语言编写,与2010年12月份开源,成为Apache的顶级子项目。它主要用于处理消费者规模网站中的所有动作流数据。动作指(网页浏......
  • [翻译] 如何在 Node.js 中使用 OpenAI 的 ChatGPT API
    人工智能(AI)一直在彻底改变我们与技术交互的方式,而聊天机器人是这一趋势最突出的例子之一。随着对能够理解自然语言并提供有用响应的聊天机器人的需求不断增加,OpenAI的ChatGPTAPI已成为开发人员的热门选择。在这篇博文中,我们将探讨如何在Node.js(一种用于构建Web应用......
  • chatGPT回答的,关于使用USB引导,使用WDS安装操作系统的提示:
    理解网络引导WDS安装windows操作系统么? 当然,我可以帮助您理解以网络引导(WindowsDeploymentServices,即WDS)安装Windows操作系统的基本过程。WindowsDeploymentServices是一种让管理员远程安装Windows操作系统的工具,这样可以在域环境中快速地为多个系统进行操作......
  • 3-2 编写一个函数 escape(s, t),将字符串 t 复制到字符串 s 中,并在复制 过程中将换行
    ArchlinuxGCC13.1.1 202304292023-07-3012:57:46星期日 点击查看代码#include<stdio.h>voidescape(chars[],chart[]){inti,j;i=j=0;while(t[i]!='\0'){switch(t[i]){case�......
  • CDP7环境下使用SparkSQL Shell方式
    相信很多在用CDP7的小伙伴都遇到了Spark里面不再支持spark-sql的问题这里给出两种解决方案:spark-submit与spark-shellcloudera官方给的解决方案https://docs.cloudera.com/cdp-private-cloud-base/7.1.5/developing-spark-applications/topics/spark-sql-example.html基于这个方案,......