文本选择操作


       为了方便地选取文本块,Vim编辑器引入了可视模式Visual Mode)。要选取一段文本块,操作步骤如下:

        将光标移动到要复制文本块的开始处。要注意的是进入可视模式后,选中文本块是以开始光标位置向后或向前复制的,并且开始光标处的字符包含在将选中文本块中

        

        使用不同的快捷键进入不同的可视化模式。

字符可视化模式:Characterwise Visual Mode,以字符为单位选择文本,快捷键:v

行可视化模式   :Linewise Visual Mode,以文本行为单位选择文本,快捷键:V

块可视化模式   :Blockwise Visual Mode,选择一个矩形框内的文本,快捷键:Ctrl + v(Linux)、Ctrl + q(Windows)

        进行复制剪切或其他操作。

x or d : 剪切,所选文本块进入剪贴板,删除操作可以用剪切操作来实现。

y         : 复制,复制当前所选文本块。

r字符   : 替换,当前所选文本块的所有字符替换成新的字符。

or U : 反转大小写,当前所选文本块的所有字符全部进行小写或大写转换。

文本复制操作


       • y         : 只在可视化模式中使用,复制选定文本块到剪贴板。

       • [n]yy  : 当前行向后复制n行,当n省略时表示复制当前行。

       • y^      : 复制光标所在行光标位置到行头的内容。

       • y$       : 复制光标所在行光标位置到行尾的内容。

       • [n]yw : 以当前位置向后复制n个word,当n省略时表示向后复制1个word。

       • [n]yG : 复制第n行和当前行之间所有行,当n省略时表示复制当前行至尾行之间所有行。

Tips:

       点号(.)可以重复上次编辑命令。

文本剪切操作


       • d         : 只在可视化模式中使用,剪切选定文本块到剪贴板。

       • [n]dd  : 以当前行向后剪切n行,当n省略时表示剪切当前行。

       • d^      : 剪切光标所在行光标位置到行头的内容。

       • d$       : 剪切光标所在行光标位置到行尾的内容。

       • [n]dw : 以当前位置向后剪切n个word,当n省略时表示向后剪切1个word。

       • [n]dG : 剪切第n行和当前行之间所有行,当n省略时表示剪切当前行至尾行之间所有行。

Tips:

       点号(.)可以重复上次编辑命令。

文本粘贴操作


       • p : 小写p表示粘贴当前游标后,整行复制表示粘贴在游标所在行的下一行。

       • P : 大写P表示粘贴当前游标前,整行复制表示粘贴在游标所在行的上一行。

文本替换操作


• 命令格式

:[replace-range]s/replace-pattern/replace-string/[c,e,g,i]

• 命令说明

replace-range :

       文本替换范围,一般形式为[m,n],表示将要替换m行到n行之间的文本。该选项可以省略,省略时表示替换当前行的文本。可以使用通配符$%,其中通配符$表示末尾行;通配符%表示[1,$],即目前编辑的整个文本。

replace-pattern :

       将要被替换的字符串,可以使用正则表达式来匹配。

replace-string :

       替换replace-pattern的字符串

c :

       每次替换前询问,c表示confirm。

e :

       不显示错误信息,e表示error。

g :

       不询问整行替换,g表示global。

i :

       不区分大小写,i表示ignore。

/ :

       分隔符。注意可以使用#作为分隔符,此时字符串中出现的/不再作为分隔符。

• 常用命令说明

:%s/read_cb/ReadCallBack/g

将当前文本的所有read_cb字符串替换为ReadCallBack字符串

vim文本编辑操作的更多相关文章

  1. vim文本编辑工具(全)

    VIM文本编辑工具 编辑模式 i    在当前字符前插入I   在光标所在的行首插入a 在当前字符后插入A 在光标所在行尾插入o 在当前行的下一行插入新的一行O 在当前行的上一行插入新的一行 s   ...

  2. VIM编辑器操作指令

    VIM有三种操作模式: 1,命令模式--command mode 2,输入模式--insert mode 3,底行模式--last line mode [在命令模式的时候,按Shift +  :出现的 ...

  3. 必须熟悉的vim快捷键操作

    转载请表明出处http://www.dabu.info/?p=801 Vim/Vi 没有菜单,只有命令 Vim/Vi 工作模式介绍:插入模式 和  命令模式 是vi的两个基本模式.——插入模式 ,是用 ...

  4. VIm快捷操作

    vim快捷操作 移动 行级移动 $ 行尾 0 行头 段级移动 { 段首 } 段尾 屏幕级别 L: 屏幕尾部 H: 屏幕头部 文档级别 G: 文档尾部 1G:头部 nG:文档n行 删除 dd: 删除当前 ...

  5. VIM常用操作手册

    VIM常用操作手册 1.多行操作,多行注释,多行取消注释 https://jingyan.baidu.com/article/9c69d48f43ed6d13c8024e7b.html 2.常用操作 ...

  6. Service系统服务(二):补充应用技巧、软连接与硬连接、man手册、zip备份、vim效率操作、自定义yum软件仓库、发布及测试yum仓库、编译安装软件包

    一.补充应用技巧 目标: 本例要求掌握在运维中比较常用的一些扩展命令技巧的使用,完成下列小技巧操作: 1> 采用数值形式将目录/root的权限调整为 rwx------   2> 将记录的 ...

  7. vim效率操作

                                        vim效率操作 案例6:vim效率操作 6.1问题 本例要求掌握使用vim文本编辑器时能够提高操作效率的一些常用技巧和方法,完成 ...

  8. 2019.5.13-5.17知识点:文件管理、目录操作、索引节点、软硬链接,vim文本编辑 知识点

    文件管理 ● cp 复制文件 cp /路径(原文件) /路径(复制文件)/文件重命名(可选)    -i:覆盖前询问    -r:递归复制目录及内部内容   -a:归档,相当于-dr --preser ...

  9. vim编辑器操作

    vim被称为编辑器之神,另外一个是sublime.vim较vi比较高级,vi适用于文本编辑,vim更加适合于coding.凡是vim里面的命令在vi都是适用的. vim的大众版的三种模式(其实不止三种 ...

随机推荐

  1. 【BZOJ】1044: [HAOI2008]木棍分割(二分+dp)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1044 如果只求最大的最小,,直接二分就行了...可是要求方案.. 好神! 我竟然想不到! 因为我们得 ...

  2. 动态向SqlParameter 里添加相应参数

    先定义一个List,然后再往List里面添加SqlParameter对象,然后将List转为SqlParameter数组即可 List<SqlParameter> ilistStr = n ...

  3. 在MFC中改变控件的TAB顺序

    在MFC界面中,控件的TAB顺序如果乱了,不合理,可能会使界面出现意料之外的显示. 例如,在用Spin Control来对Edit Control内的值进行增减时,如果Edit Control.Spi ...

  4. MathType二次偏导怎么表示

    求导以及求偏导运算在数学中是很重要的一个部分,尤其是在高等数学中,基本都由函数的导数与偏导组成,很多公式定理也是关于这方面的,如果少了这一部分,数学将会黯然失色.因此在文档中涉及到这些内容时,必然会少 ...

  5. iOS开发之 -- NSStringFromSelector的使用

    很多时候,我们要触发一个时间,需要设置点击时间,当然了,有很多,比如:按钮,手势,tableview和其他一些空间自带的点击方法, 还有一个就是NSStringFromSelector的使用,废话不多 ...

  6. css位置相关元素

    1.border     是边框的意思,它可以设置粗细,多少像素,输入样式,solid是实线的意思,可以直接选择color边框的颜色. 也可以设置某个方向的边框,例如 设置一个div,让它的高和宽都为 ...

  7. 【BZOJ2424】[HAOI2010]订货 最小费用流

    [BZOJ2424][HAOI2010]订货 Description 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付存贮费用m,假定 ...

  8. Java中Integer类的方法和request的setAttribute方法的使用与理解

    一.Integer类的使用方法 Interger:整数类型 1.属性. static int MAX_VALUE:返回最大的整型数: static int MIN_VALUE:返回最小的整型数: st ...

  9. Hibernate-sessio缓存的操作

    首先咋们看一个图: flush:首先箭头是由缓存指向数据库,即当我调用 Session.flush()方法时它会强制使数据库的记录跟缓存 中的对象状态保持同步 ,如果不一致,就会发送Sql语句 ,保持 ...

  10. mysql状态分析之show global status

    这里整理下mysql global status的相关命令,在计算监控数据的时候需要用到 一.慢查询 show variables like '%slow%'; +------------------ ...