操作符+位移

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. jquery 动态创建 DIV

    方法一: var creatediv= function(){    var parentdiv=$('<div></div>');        //创建一个父div    ...

  2. Error:java: Compilation failed: internal java compiler error(转)

    set中java complier 设置的问题  ,项目中有人用jdk1.6  有人用jdk1.7  版本不一样  会一起这个错误 进行如下操作: 原文链接:http://blog.csdn.net/ ...

  3. React 与 可视化

    一般会想到 canvas 和 svg ; svg更适合画图, 但由于cavans在移动端的良好兼容性, 使用的更广; 什么是svg, scalable vector graphics  全称 可缩放矢 ...

  4. jsp页面:js方法里嵌套java代码(是操作数据库的),如果这个js 方法没被调用,当jsp页面被解析的时候,不管这个js方法有没有被调用这段java代码都会被执行?

    jsp页面:js方法里嵌套java代码(是操作数据库的),如果这个js 方法没被调用,当jsp页面被解析的时候,不管这个js方法有没有被调用这段java代码都会被执行? 因为在解析时最新解析的就是JA ...

  5. 密钥库文件格式[keystore]代码

    密钥库文件格式[keystore]代码 格式    :     JKS 扩展名  :      .jks/.ks 描述    :     [Java Keystore]密钥库的Java实现版本,pro ...

  6. redis常用配置参数解析

    本文主要总结一下redis常用的配置参数的用法: 以下参数决定redis运行方式,默认前台运行,修改为yes可以让redis以后台守护进程方式运行 daemonize no 以下参数指定redis的p ...

  7. vue实现简单评分效果

  8. from sklearn.datasets import make_classification创建分类数据集

    make_classification创建用于分类的数据集,官方文档 例子: ### 创建模型 def create_model(): # 生成数据 from sklearn.datasets imp ...

  9. 深入理解java虚拟机-第13章-线程安全与锁优化

    第十三章 线程安全与锁优化 线程安全 java语言中的线程安全 1 不可变.Immutable 的对象一定是线程安全的 2 绝对线程安全 一个类要达到不管运行时环境如何,调用者都不需要额外的同步措施, ...

  10. 页面提交 string数组和list对象集合举例

    ajax表单提交   $.ajax({                 cache: true,                 type: "POST",             ...