操作符+位移

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. Ti IPNC Web网页之ActiveX控件

    Ti IPNC Web网页之ActiveX控件 本篇介绍关于TI IPNC网页中播放器相关的东西. gStudio工程中添加播放器并控制播放器 打开IPNC网页时首先会自动下载ActiveX控件并安装 ...

  2. Myeclipse WEB工程JSP使用JNDI 数据库连接池连接Mysql数据库

    在网上查了很多,最后实现了.下面写一下过程: 首先,在WEBROOT/META-INF下建一个文件context.xml,内容为: <?xml version="1.0" e ...

  3. EasyPlayer RTSP Windows(with ActiveX/OCX插件)播放器支持H.265播放与抓图功能

    EasyPlayer作为业界一款比较优秀的RTSP播放器,一直深受用户的好评,经过了近3年的开发和迭代,从一开始的简单PC版本的RTSP播放功能,到如今支持PC(支持ocx插件).Android.iO ...

  4. HAWQ + MADlib 玩转数据挖掘之(二)——矩阵

    矩阵是Madlib中数据的基本格式,通常是二维的.在Madlib中,数组的概念与向量类似,数组通常是一维的,是矩阵的一种特殊形式. 一.矩阵表示 MADlib为矩阵提供了两种表示形式:稠密和稀疏. 1 ...

  5. fiddler与Charles的区别

    一.Fiddle2(v2.4.2.6,windows) fiddler除了常规的替换http请求.模拟慢网速外,还有一些日常开发里能用到的特殊功能. 1. http代理服务器 fiddler启动的时候 ...

  6. sift特征简述

    参考文献:http://blog.csdn.net/abcjennifer/article/details/7639681 分为几个步骤: 1. 构建尺度空间 2. LoG近似DoG找到关键点< ...

  7. linux vim 命令使用

    基本上vim可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(last line mode) 模式切换方法 在命令模式输入“i”,进入插入模式 ...

  8. 程序设计入门-C语言基础知识-翁恺-第一周:简单的计算程序-详细笔记(一)

    目录 第一周:简单的计算程序 1.1 第一个程序 Hello World! 1.2 变量 1.3 计算 1.4 编程作业及课后讨论 第一周:简单的计算程序 1.1 第一个程序 Hello World! ...

  9. hessian 协议 版本 兼容

    环境 : 服务端:  hessian 4.0.38 , spring 4.3.6 ; spring文档指出spring4.0以上的版本只能使用hessian 4.0以上的版本 客户端: hessian ...

  10. Associations marked as mappedBy must not define database mappings like @JoinTable or @JoinColumn【报错】

    自己的项目没有测通  可能是自己项目原因——因为自己项目中级联关系的类涉及太多 自己的项目[这样的配置报错] @OneToMany(fetch=FetchType.LAZY,cascade = { C ...