#

一、命令行模式下简化删除 
1. 向后删除单个字符:【x】 
2. 向前删除单个字符:【X】 
3. 删除从光标开始到单词结尾:【dw】 
删除从光标后的2个单词:【d2w】 
4. 删除整个单词:【daw】 
仅当光标停留在一个单词开头,【dw】才能删除整个单词,否则只能删除一部分;而【daw】不考虑光标的停留位置,只要在该单词上,则会自动删除整个单词 
5. 删除光标停留的那整行:【dd】 
假设想连续删除多行,则用【4dd】连续删除4行 
6. 从光标处往前删除单词:【db】 
和【dw】的作用方向正好相反 
7. 删除光标位置到本行开头:【d0】 
8. 点命令【.】含义是重复上次修改,上次修改的单位可以是字符,整行,甚至整个文件。 
因此如果删除整行【dd】,配合【.】也可以起到重复操作的目的。 
点命令最大的用处在于,每次从输入模式到命令模式切换时,整个阶段vim会记录每一个按键操作,使用点命令可以重新执行所有的这些按键操作,就好像“一键回放”,我们可以把点命令当成一个宏。 
比如要给结构体语句添上‘;’号 
按照常规方法做会比较慢,这时候光标先移动到第一条语句上,【A】【;】【ESC】 
再反复使用【j】【.】即可。

二、简化行光标移动 
1. 光标移动到行尾 【】2.光标移动到行尾并进入输入模式,类似于【】2.光标移动到行尾并进入输入模式,类似于【】【a】: 【A】 
3. 光标移动到行尾并回车,再进入输入模式,类似于【$】【enter】【a】: 【o】 
小o的作用类似于新建一空白行 
4. 光标移动到行首【^】 
5. 光标移动到整个文件头部【gg】 
6. 光标移动到整个文件尾部【G】 
7. 跳转到指定的行 
在编辑模式下,输入ngg,或者nG;在命令模式下输入行号 :n 
(n为行号)

三、简化行内光标移动 
1. 光标移动到单个字符:【f】,也用于查找。比如要在本行移动光标至字符处,直接【f】即可 
2. 无需输入即可移动光标,查找:【*】 
3. 【w】移动光标到下一个单词开头,【b】移动光标到上一个单词开头,两者均可跨行 
4. 配合点命令【.】以及【*】星命令,就能实现快速的查找并替换。 
首先在需要被替换的单词上按【*】,然后【a】修改第一个单词,完成后【ESC】,此时vim已经记住了操作,剩下的就是重复【n】查找下一个,【.】回放操作。

仔细体会vim对重复操作的简化,追求的是一键移动,一键操作修改。

VIM中简化删除,光标移动和查找操作的更多相关文章

  1. 在 Vim 中,删除 ^@ 符号的几种方法

    在 Vim 中,^@ 表示 ASCII 码中的 NULL 字符,编码为 0x00,占用一个字节. 删除方法 方法1,采用 <CTRL-V><CTRL-J> 或 <CTRL ...

  2. linux 下vim中关于删除某段,某行,或者全部删除的命令 ZZ

    1,先打开某个文件: vim filename 2,转到文件结尾 在命令模式输入 G 3,转到10行 在命令模式输入 10G 4,删除所有内容:先用G 转到文件尾,然后使用下面命令: :1, .d 5 ...

  3. linux 下vim中关于删除某段,某行,或全部删除的命令

    1,先打开某个文件: vim   filename 2,转到文件结尾 在命令模式输入 G 3,转到10行 在命令模式输入 10G 4,删除所有内容:先用G 转到文件尾,然后使用下面命令: :1, .d ...

  4. linux 下vim中关于删除某段,某行,或者全部删除的命令

  5. Zookeeper之Curator(1)客户端基本的创建,删除,更新,查找操作api

    Curator Framework提供了简化使用zookeeper更高级的API接口.它包涵很多优秀的特性,主要包括以下三点: 自动连接管理:自动处理zookeeper的连接和重试存在一些潜在的问题: ...

  6. 解决vim中鼠标右键无法复制的问题

    转:http://www.cnblogs.com/jianyungsun/archive/2011/03/19/1988855.html 这是我的vim配置文件:jeffy-vim-v2.4.tar ...

  7. 复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符及在vim中设置tab缩进为4个字符

    1.复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符 在命令模式下,使用正则表达式匹配 行首有空白字符行的模式:^[[:space:]] ...

  8. vim复制,粘贴,删除,撤销,替换,光标移动等用法

    我接触linux的时候,用的是nano这个文本编辑器,个人觉得他的最大优点就是方便,快速.打开文件,修改文件,到退出都十分的快速,简单.这一点上比vi,vim要强,但是nano不能显示彩色字,不能进行 ...

  9. Linux中在vim/vi模式下对文本的查找和替换

    查找: 1.vim  filename  进入一般模式下 2.查找和替换方法 /word    向下查找word 的字符串  例如  /chengtingting   向下查找字符chengtingt ...

随机推荐

  1. 计算机电子书 2019 BiliDrive 备份

    下载方式 pip install BiliDriveEx bdex download <link> 链接 文档 链接 传智播客轻松搞定系列 C.C++.Linux.设计模式.7z (33. ...

  2. JVM学习七-(复习)垃圾收集策略与算法

    垃圾收集策略与算法 程序计数器.虚拟机栈.本地方法栈随线程而生,也随线程而灭:栈帧随着方法的开始而入栈,随着方法的结束而出栈.这几个区域的内存分配和回收都具有确定性,在这几个区域内不需要过多考虑回收的 ...

  3. bom-简单动画

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 学习jsp篇:jsp简单实例之二登录

    编程环境:IDEA,Tomcat,JavaEE 一.实例二登录 1.在自己建的工程下的web目录下建一个文件夹为login,在login中编写登录代码(其实就是和实例一同一个项目) 2.先建登录页面j ...

  5. Java-基于JDK的动态代理

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11686615.html 简单的记录一下Java中自带动态代理的用法. 准备材料: 1.一个接口 ...

  6. git本地仓库关联多个远程仓库及取消关联

    关联 本地和远程仓库关联步骤: 在网站上(如gitee.github等,这里以gitee为例)首先添加好自己的ssh公钥 本地创建一个空的项目,即文件夹. 在文件夹下git init初始化仓库 在gi ...

  7. JS实现判断点是否在多边形范围内

    一.说明 在GIS领域,判断点是否在多边形范围内是一个基础方法,这里主要说下实现原理. 原理比较简单,就是有一个GIS理论,一个点向一个方向发送射线,射线与多边形各个边相交的交点如果是奇数说明点在多边 ...

  8. 详解 Apache SkyWalking OAP 的分布式计算

    SkyWalking的OAP(Observability Analysis Platform,观测分析平台)是一个用于链路数据的分布式计算系统. 因为它巧妙的设计,使得在链路数据计算和聚合过程中,不需 ...

  9. C++ 反汇编:关于函数调用约定

    函数是任何一门高级语言中必须要存在的,使用函数式编程可以让程序可读性更高,充分发挥了模块化设计思想的精髓,今天我将带大家一起来探索函数的实现机理,探索编译器到底是如何对函数这个关键字进行实现的,并使用 ...

  10. 使用传统的三层架构出现的问题.引入Spring底层实现原理来解决(工厂模式+反射+XML配置文件/注解)

    以前写的代码 mapper层 public interface PersonMapper { void selectPersonList(); } public class PersonMapperI ...