首页 > 其他分享 >vimtutor学习笔记

vimtutor学习笔记

时间:2023-12-18 15:57:07浏览次数:36  
标签:vimtutor motion old undo 学习 笔记 new lesson type

进入vimtutor

# ubuntu system
vimtutor

lesson 2.3 : on operators and motions

许多处理文本的命令由 operatorsmotions组成,格式如下:

# 使用时operator和motion之间无空格,例如:dw
operator motion

常用的motions:

  • w - 跳到下个单词的开始,不包含其第一个字符
  • e - 跳到当前单词的结尾,包含其最后一个字符
  • $ - 跳到当前行尾,包含最后一个字符

单独使用motion会使光标移动到对应位置,配合operator使用执行对应操作(例如:de 将删除光标位置到该单词结尾之间的内容)

lesson 2.7 : the undo command

  • u : undo the last commands
  • U : fix a whole line
  • CTRL-R : redo the commands(undo the undo's) 撤销undo

lesson 2 SUMMARY

  1. To delete from the cursor up to the next word type: dw

  2. To delete from the cursor up to the end of the word type: de

  3. To delete from the cursor to the end of a line type: d$

  4. To delete a whole line type: dd

  5. To repeat a motion prepend it with a number: 2w

  6. The format for a change command is:
    operator [number] motion

    where:
    operator - is what to do, such as d for delete
    [number] - is an optional count to repeat the motion
    motion - moves over the text to operate on, such as w (word),
    e (end of word), $ (end of the line), etc.

  7. To move to the start of the line use a zero: 0

  8. To undo previous actions, type: u (lowercase u)
    To undo all the changes on a line, type: U (capital U)
    To undo the undo's, type: CTRL-R

lesson 3.3 the change operator

  • ce - deletes the word and places you in Insert mode.
  • cc - deletes the whole line and places you in Insert mode.

lesson 4.2 the search command

# 例如搜索 asimov
/asimov
  • n - 向下搜索
  • N - 向上搜索

可以使用?代替/进行反方向搜索

vim有一个jump list的概念,这个list是光标移动的历史记录,以下组合键可以帮助在该list上移动

  • ctrl+o 返回上一次光标所在位置
  • ctrl+i 调整到jump list中当前记录的下一个记录

NOTE: 可以使用set wrapscan选项使 Vim 在到达文件末尾时回到文件顶部进行搜索。要关闭此功能,执行set nowrapscan

输入%可找到匹配的括号

lesson 4.4 the substitute command

# 在本行中搜索old,然后用new进行替换(仅替换第一个old)
:s/old/new

# 在本行中搜索old,然后用new进行替换(本行中的old全部被替换为new)
:s/old/new/g

# 下面的 #,# 代表执行替换的范围(行号,行号)
:#,#s/old/new/g

# 对整个文件执行替换
:%s/old/new/g

# 对整个文件执行替换,并进行提示(是否执行替换)
:%s/old/new/gc

标签:vimtutor,motion,old,undo,学习,笔记,new,lesson,type
From: https://www.cnblogs.com/asimov1024/p/17904680.html

相关文章

  • 进一步学习 CommunityToolkit.Mvvm
    1.属性绑定privatestringtitle;publicstringTitle{get;set;} 可用以下属性方式替换,生成器会自动生成;[ObservableProperty]privatestringtitle; 另一种情况:命令privateboolisEnabled;publicboolIsEnabled{......
  • 进一步学习 CommunityToolkit.Mvvm 之 Messenger
    一、带token1.订阅消息WeakReferenceMessenger.Default.Register<UserMessage,string>(this,"MyToken",(r,m)=>{});2.发送消息WeakReferenceMessenger.Default.Send(newUserMessage(value),"MyToken");二、某一种数据类型发送接收消息1.订阅消息V......
  • Spring Boot学习随笔- JSP小项目-员工管理系统(验证码生成、增删改查)
    学习视频:【编程不良人】2021年SpringBoot最新最全教程第十章、项目开发实现一个登录注册,增删改查功能的系统10.1项目开发流程需求分析分析用户主要需求提取项目核心功能,根据核心功能构建页面原型库表设计:分析系统有哪些表分析表之间关联关系确定字段详细设......
  • 《实现领域驱动设计》笔记——架构
    DDD的一大好处便是它并不需要使用特定的架构。由于核心域位于限界上下文中,我们可以在整个系统中使用多种风格的架构。有些架构包围着领域模型,能够全局性地影响系统,而有些架构则满足了某些特定的需求。我们的目标是选择合适于自己的架构和架构模式。在选择架构风格和架构......
  • 阅读笔记(软件方法(上):业务建模和需求)
    在软件开发过程中,业务建模和需求分析是至关重要的阶段,它们为整个软件开发生命周期奠定了基础。本文将探讨业务建模和需求分析的关键概念,以及在软件方法论中常用的一些技术和工具。业务建模1.业务建模的定义业务建模是指对组织或企业的业务流程、结构和目标进行抽象和表达的过程......
  • NoSQL学习第二天:深入理解与实战体验
    经过昨天的学习,我对NoSQL数据库有了初步的了解。今天,我进一步深入学习了NoSQL数据库的原理、特点和实际应用,收获颇丰。一、NoSQL数据库原理与技术在深入学习中,我了解到NoSQL数据库的原理主要包括数据模型、存储引擎、索引和查询优化等方面。NoSQL数据库的数据模型灵活多变,可以适应......
  • 根据实体之间的关系设计表数据,学习总结
    一、当实体间的关系是1:1的关系时:学生对学生信息例:学生——学号;学生——姓名;学生——学籍当实体“学生”和其他实体都是1对1的关系,设计表可直接创建单张表即可学生表:学号PK(主键),学生姓名,学籍…… 二、当实体间的关系是1:n的关系时:班级对学生例:班级——班级号,班级——班级......
  • 部署 Wiznote 个人笔记系统
    一、Wiznote介绍项目地址:https://github.com/WizTeam/WizQTClientWiznote介绍WizNote**(为知笔记)**是一种云服务,您可以使用它来保存您的笔记或与您的同事共享文档。我们拥有所有平台应用程序,现在您可以在您的PC或服务器上托管WizNoteServer,甚至可以将数据保存在AWS或A......
  • 数据持久层框架mybatis学习:使用mybatis+SpringBoot完成增删改查
    目录一、MyBatis的应用配置二、使用mybatis+SpringBoot完成增删改查2.1代码实现2.2增删改查接口调用一、MyBatis的应用配置依赖pom.xml注意:版本号的依赖冲突问题<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xm......
  • 【机器学习】OpenCV人脸识别
    OpenCv基础函数#读取图片image=cv2.imread("test01.jpg")#转灰度gray_image=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)#修改尺寸resize_image=cv2.resize(image,(300,400))#绘制矩形cv2.rectangle(image,(x,y),(x+width,y+height),(0,255,0),2)#......