操作符+位移

x命令可以删除一个字符,4x可以删除4个字符。
dw可以删除一个word,w事实上是向后移动一个word的命令;dw可以接上一个任意一个位移命令,它将删除从当前光标开始到位移终点处的文本内容。
 
  • d可以删除文本;
  • c可以修改文本;
 
操作符+位移命令,首先键入一个操作符命令,比如d或者c,接下来是一个位移命令,比如0,$,w等操作。
  • dd可以删除整行;
  • cc可以改变整行;
有一些操作符+位移命令的使用频率非常高,将它们以一个单独的字符作为其快捷方式:
  • x代表dl,删除当前光标下的字符;
  • X代表dh,删除当前光标前面的字符;
  • D代表d$,删除当前光标到行尾的内容;
  • C代表c$,修改当前光标到行尾的内容;
  • s代表cl,修改一个字符;
  • S代表cc,修改一整行;
 

替换单个字符

r命令不属于操作符命令,因此不适于上述说明中的“操作符+位移”操作中。它等待你键入下一个字符用以替换当前光标下的那个字符,类似于cl或s命令,但是不需要事后使用ESC回到正常编辑模式。
 
r命令支持前缀,可以使用3ra命令将当前光标后面的3个字符都替换成a,即aaa;
 

重复执行改动操作

“.”命令是vim中一个简单强大的命令,会重复执行上一次做的改动,记住,是改动,使用命令修改文本,但是不包括u,Ctrl+R和以“:”开头的命令。”.”是在Normal模式下执行,重复的是命令而不是改动的内容。如果要搜索abc并将其替换成def,可以按照以下方式执行:
  1. /abc, 查找abc字符串;
  2. cwdef,将当前word替换成def;
  3. esc,退出编辑模式;
  4. n并执行.就可以重复替换了。
 

Visual模式

删除简单,短小的文本对象,“操作符+位移”命令就已经足够使用,但是如果想像windows中文本编辑器移动光标选择一整段文本,就需要进入Visual模式。
 
v命令可以进入Visual模式,此时移动光标就可以覆盖想操纵的文本范围,移动操作与正常模式相同,同时被选中的文本将会高亮显示,选择完成后,键入操作符命令。
 
ESC命令退出Visual模式。
 
如果想要整行地操作文本,可以使用大写”V"进入Visual模式,此时就会发现被选中的文本是一整行为单位的,左右移动失效。
 
在使用d或者x这样的命令删除文本时,被删除的内容还是被保存下来的,可以使用p命令取回来(put回来)。p命令会将删除的整行内容都放到光标的下面作为单独一行,如果删除的是一行中的部分内容,p命令就会把这部分内容放到当前光标后面。
 
P命令与p一样都能取回被删除的内容,不过其将被取回的内容置于光标之前。可以多次调用p或者P来调回被删除的内容。
 

复制文本

要把文本内容从一个地方复制到另一个地方,一种比较折腾的方法就是先删除它,再用u恢复,然后用p粘贴到你想要编辑的地方上去。不过对于复制有一种非常方便的方法,就是使用y命令(yanking),y命令操作符会将文本复制到一个寄存器中,然后用p命令将其取回。
 
y也是个命令,同时也可以像d,x,c等命令一样,使用yw复制一个word,yb向前复制一个word,yy可以复制一整行(像dd一样),使用nyy可以复制下面的n行数据。 
 

文本对象

 
如果光标位于一个单词的中间,而需要删除整个单词,可能需要把光标移到该单词的开头,然后用dw命令,不过有个简单的方法,使用命令”daw”。
 
daw中的d是删除命令,aw是一个文本对象(A word),整体的意思可以表述为(Delete a word),该word之后的空白字符也会被删除。
 
如果要修改一行的数据,可以使用命令cis,就会将光标置于原来的空白位置,此时可以键入新的语句;如果想要删除整个句子,如果希望将其后面的空白也删除,此时可以使用das命令。
 

替换模式

 
R命令可以让vim进入replace模式,这个模式下,所有输入的字符都会替换掉当前光标下的字符,直到键入ESC为止,或是整行没有字符可以替换时,继续拓展该行的内容,并不会延续到下一行。
 
 
 

Vim编辑器基本操作学习(二)的更多相关文章

  1. Vim编辑器基本操作学习(一)

      最近在服务端编辑文件总不可避免要使用vim编辑器,下面就对学习到的常用命令进行总结,以便自己以后查看.   基本编辑命令   删除字符:x 删除一行:dd 删除换行符:J,同时将两行合并成一行 撤 ...

  2. vim编辑器基本操作介绍

    vim编辑器基本操作介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 可能很多小伙伴都听说过vi编辑器或是vim编辑器.它们是Unix和Linux世界最流行的编辑器之一,他们的特 ...

  3. git vim 编辑器基本操作

      用 git 命令行提交文件时,默认使用 vim 编辑器,基本操作: 按 a, i 或 o 进入编辑模式 按 ESC 进入操作模式 在操作模式下,:wq 为写入退出,:q! 不保存退出

  4. vi/vim编辑器基本操作

    一.vi/vim的三种模式 vi编辑器有三种模式:命令模式(command mode).插入模式(Insert mode).底行模式(last line mode). 就是你直接用命令(vi  文件名 ...

  5. Vim编辑器的学习

    在老师的带领下,最近也算是涨了见识.自己安装并尝试着体验了Vim的一些基本功能,可能是作为初学者,总感觉其指令太过复杂,就文本编辑而言,给我的最大感受就是神而乎之,一头雾水.目前我对这款编译器的掌握水 ...

  6. vim编辑器基本操作及文件权限,sudo命令等介绍

    一:vim 操作命令,在命令模式下操作 pageup 往上翻页 pagedown 往下翻页 H 移动到屏幕首行 gg 移动光标到文档的首行 前面加数字n表示移动到n行内容 G 移动到文档最后一行/查找 ...

  7. vim编辑器基本操作

    命令模式: 按(i)键进入编辑模式,将在光标前面插入: 按(I)键进入编辑模式,将在光标行首插入: 按(a)进入编辑模式,在光标后面插入: 按(A)键进入编辑模式,将在光标行末插入: 按(o)进入编辑 ...

  8. 【第五课】VIM编辑器(学习笔记)

    4月10日学习笔记打卡

  9. VI和VIM编辑器深入学习笔记--基本vi命令

    双十一过后有点闲,找本书给这段时间碰到的一些问题充充电,先从linux vi命令开始: 移动光标: “h” 向左一个字符,“j”向下一行,“k” 向上一行,“l” 向右一个字符(虽然我们可以用方向键, ...

随机推荐

  1. word中怎么快速选中光标之前或之后的全部内容?

    在Word中,快速选中=光标之后=的全部内容的快捷键:Ctrl + Shift + End:在Word中,快速选中=光标之前=的全部内容的快捷键:Ctrl + Shift + Home.在Word中, ...

  2. C语言学习之指针

    指针这块,看了好久才有点头绪,稍微有点理解了. 一.指针申明以及赋值 int *p; 这样就声明了一个int型的指针p,这个p就是指针变量,可能上述的书写方式会混淆我们队指针的理解(*号) 我们可以这 ...

  3. d3.js(v5.7)树状图

    一.新建画布 二.数据处理 三.绘制连接线 图示: 四.绘制节点.文字 图示: 五.总结 path元素:其实就是定义了绘图的坐标点,从哪开始,移动到哪,怎样移动(命令) 具体可百度(或许以后我会总结一 ...

  4. Kotlin Reference (三) Coding Conventions

    most from reference 命名规则 1.使用驼峰式命名规则,尽量避免在命名中使用下划线 2.类型以大写字母开头 3.方法和属性以小写字母开头 4.使用4个空格缩进 5.public的方法 ...

  5. kmeans实现文本聚类

    需求 拿到的需求是输入n个文本,对文本进行聚类,由于这些输入不能通过历史数据进行训练,所以这个主要就是用无监督学习来解决. kmeans 谈到聚类就会想到kmeans,它的核心思想是给定的K值和K个初 ...

  6. Kotlin都转正成Android官方语言了,你还不试一下?

    想想Android Studio 和Eclipse ,我觉得你还是有必要入手Kotlin了. 站好队很重要. 以前的一篇总体概括老文,大家可以看看~ 爽翻天!告别Java.一起来使用kotlin开发完 ...

  7. python常用模块之configparser模块

    python常用模块之configparser 作用:解析配置文件 假设在当前目录下有这样一个conf.ini文件 [DEFAULT] ServerAliveInterval = 45 Compres ...

  8. 程序设计入门-C语言基础知识-翁恺-第三周:循环-详细笔记(三)

    目录 第三周:循环 3.1 循环 3.2 循环计算 3.3 课后习题 3.4 讨论题(不需要掌握) 第三周:循环 3.1 循环 while循环 语法: while(条件表达式){ //循环体语句 } ...

  9. 网络编程(Socket)

    引言: 从2007年毕业开始一直从事.net web应用程序开发,负责冶金行业的MES系统开发,写了差不多6年左右的代码,由于工作性质是需要驻厂开发,一直出差,所以在2013年跳槽了,目前从事安防行业 ...

  10. Jmeter-ForEach控制器

    ForEach Controller需要配合‘用户定义的变量’来使用,作用是参数化 名称:字面意思,ForEach Controller的名称 注释:字面意思 输入变量前缀:变量的前缀:如要使用的变量 ...