文本选择操作


       为了方便地选取文本块,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. php模拟动态输出效果

    读取数据库,显示数据 foreach($s as $ss){ echo '同步中 ...<br />'; for( $i = 1 ; $i < 2 ; $i++ ) { //echo ...

  2. java---sychronized的深入理解

    synchronized 关键字,代表这个方法加锁,相当于不管哪一个线程A每次运行到这个方法时,都要检查有没有其它正在用这个方法的线程B(或者C D等),有的话要等正在使用这个方法的线程B(或者C D ...

  3. Web设计的速查卡(转)

    一.排版 1.VisiBone Font Card Download: GIF 2.常用字体表 (HTML) 3.混合字体 (PDF) 二.单元/尺寸 1.Points 和Pixels近似转换表 (H ...

  4. linux改动登陆主机提示信息

    寻常管理着130多台Linux物理主机.真正搞清楚每一台主机的IP信息.应用部署比較麻烦! 所以在部署之初,必须规划好: 写一个脚本.把主机IP.管理员联系方法,应用部署等主机信息放在.sh里面 sh ...

  5. GitHub Permission to <<repository>> denied to <<username>>

    I kept receiving a 403 error saying my usual username couldn’t access the repository with my usual a ...

  6. ERROR getting 'android:label' attribute: attribute is not a string value

    这个的原因很多地方都有描述,原因多半是多国语言string.xml 有的有这个值, 有的没有. 关键是怎么定位? 实际上他报错的是当前处理的xml element有问题, 而出错的时候盖住了要处理的. ...

  7. nginx报403错误的2种原因

  8. 【BZOJ5072】[Lydsy十月月赛]小A的树 树形DP

    [BZOJ5072][Lydsy十月月赛]小A的树 题解:考虑我们从一个联通块中替换掉一个点,导致黑点数量的变化最多为1.所以我们考虑维护对于所有的x,y的最大值和最小值是多少.如果询问的y在最大值和 ...

  9. 使用jquery-qrcode生成二维码(转载)

    一.使用jquery-qrcode生成二维码 先简单说一下jquery-qrcode,这个开源的三方库(可以从https://github.com/jeromeetienne/jquery-qrcod ...

  10. Python全栈day10(运算符)

    一,运算符 + - * . ** % // 二,in 和not in 一个字符串包含多个字符可以通过in判断字符是否属于改字符串 >>> name = "zhangsan& ...