删除

1 删除命令

vi命令

操作键

x

删除当前光标处的字符

X

删除光标左边的字符

D

删除从当前光标到本行末尾的字符

J

删除两行之间的换行符 (亦可用于合并两行)

dmove

删除从当前光标到move所给位置的字符

dd

删除当前行

ex命令

:lined

删除指定行

:line,lined

删除指定范围内的行

2 常用的删除组合命令

说明:操作符命令+位移命令

1      nx                          删除多个字符(n为删除的字符个数)

2      dw                           删除1个单词

3      d10w                       删除10个单词

4      d10W                      删除10个单词,忽略标点符号。

5      db                           向后删除一个单词

6      d2)                        删除两个句子

7      d5}                           删除5个段落

8      dG 或 :.,$d                删除当前行到编辑缓冲区末尾的所有行

9      dgg 或 d1G 或:1,.d           删除当前行到编辑缓冲区开头的所有行

10    :1,$d 或 :%f                     删除整个编辑缓冲区

11    d/word                             删除从光标所在位置到单词word的所有文本

12    .,/word/d                   删除从光标所在位置到单词word的所有文本

13    df x                          删除至当前行中x所在的位置

14    d^                            删除至该行的开始处

15  :g/^$/d                删除文件中所有空行

3插入模式中删除操作

^U                         删除当前行

^H                         删除前一个字符

^W                        删除前一个词

4 撤销或重复改变

vi命令:

1      u                        撤销上一命令对编辑缓冲区的修改

2      U                        恢复当前行(即一次撤销对当前行的全部操作)

3      .点号                    重复上一命令对编辑缓冲区的修改

5 恢复删除

语法:"1p(P)

说明:

1      1为缓冲区的编号。

2      p在当前行的下面插入,P在当前行的上面插入。

6 复制上一次删除

命令

说明

p

复制上一次删除的内容,插入到光标的后面/下面

P

复制上一次删除的内容,插入到光标的前面/上面

7其它有用的一些删除

删除行尾多个空格 :   :%s/\s\+$//g

删除行首多个空格 :   :%s/^\s*//g

删除重复行:           :%s/^(.*)n1/1$/

删除所有中文:    :%s/\v[^\x00-\xff]+//g

删除所有数字:    :%s/\d//g

vi-vim :删除、撤销、恢复删除、复制删除的更多相关文章

  1. vim复制,粘贴,删除,撤销,替换,光标移动等用法

    我接触linux的时候,用的是nano这个文本编辑器,个人觉得他的最大优点就是方便,快速.打开文件,修改文件,到退出都十分的快速,简单.这一点上比vi,vim要强,但是nano不能显示彩色字,不能进行 ...

  2. vi / vim 删除以及翻页 其它命令

    vim中翻页的命令 vim中翻页的命令 整页翻页 ctrl-f ctrl-b f就是forword b就是backward 翻半页 ctrl-d ctlr-u d=down u=up 滚一行 ctrl ...

  3. vi / vim 删除以及其它命令

    删除一行:dd 删除一个单词/光标之后的单词剩余部分:dw 删除当前字符:x 光标之后的该行部分:d$ 文本删除 dd 删除一行 d$ 删除以当前字符开始的一行字符 ndd 删除以当前行开始的n行 d ...

  4. vi/vim 添加或删除多行注释

    进入vi/vim编辑器,按CTRL+V进入可视化模式(VISUAL BLOCK)    移动光标上移或者下移,选中多行的开头,如下图所示   选择完毕后,按大写的的I键,此时下方会提示进入“inser ...

  5. vi/vim 如何添加和删除多行注释

    1.进入vi/vim编辑器,按CTRL+V进入可视化模式(VISUAL BLOCK). 2.移动光标上移或者下移,选中多行的开头. 3.选择完毕后,按大写的I键,此时下方会提示进入"inse ...

  6. vi/vim 行删除操作

    好东西就要多用,vi/vim越用越喜欢了. 删除多行怎么办呢? 命令输入“:32,65d”,回车键,32-65行就被删除了.

  7. Terminal,git,vim常用命令整理以及删除本地git仓库

    Terminal常用命令 目录操作 ll 打开目录列表 ls -a 打开目录下所有文件列表 cd 切换到某目录 mkdir 创建目录 rmdir 删除空目录 rm -rf 目录名字 强制删除目录 mv ...

  8. vim的批量注释与删除注释

    vim的批量注释与删除注释 方法一:块选择模式 批量注释: Ctrl + v 进入块选择模式,然后移动光标选中你要注释的行,再按大写的I进入行首插入模式输入注释符号如 // 或 #,输入完毕之后,Vi ...

  9. VIM技巧(2)-删除匹配行

    VIM技巧(2)-删除匹配行 代码如下: * @Company:中国股份有限公司 * @author ymzhao (也有zyyang的) * @Date: Jan 22, 2014 11:25:29 ...

随机推荐

  1. 【Linux】文件描述符与重定向

    重定向符号 符号 描述 > 输出重定向到一个文件或设备 覆盖原来的文件 >! 输出重定向到一个文件或设备 强制覆盖原来的文件 >> 输出重定向到一个文件或设备 追加原来的文件 ...

  2. Linux磁盘分区及链接文件的特点

    系统分区 传统的分区fdisk 最大支持2T的硬盘分区 对存储,多分区使用的parted 主分区:最多只能有4个 扩展分区 最多只能有1个 主分区加扩展分区最多有4个 不能写入数据,只能包含逻辑分区 ...

  3. 【laravel54】详解中间件

    1.中间件定义:对http请求进行一层过滤,通过过滤才能继续执行请求 2.中间件方法handle方法参数详解: 其中参数的形式可以有多个,使用[,]进行分割. 3.路由中使用中间件: 3.1 中间件使 ...

  4. 用setitimer实现多个定时器

    从这篇文章中可以看出,setitimer只能实现一个定时器,如果多次调用setitimer,旧值都会被覆盖掉. 如何用setitimer实现多个定时器呢?下面是我的一个实现,具体的方法是: 用链表从小 ...

  5. Foundations of Machine Learning: The PAC Learning Framework(2)

    Foundations of Machine Learning: The PAC Learning Framework(2) (一)假设集有限在一致性下的学习界. 在上一篇文章中我们介绍了PAC-le ...

  6. Pycharm中 import 引入同级文件失败问题

    Pycharm中 import 引入同级文件失败,如下所示:  “This inspection detects names that should resolve but don't. Due to ...

  7. 利用recv和readn函数实现readline函数

    在前面的文章中,我们为了避免粘包问题,实现了一个readn函数读取固定字节的数据.如果应用层协议的各字段长度固定,用readn来读是非常方便 的.例如设计一种客户端上传文件的协议,规定前12字节表示文 ...

  8. Linux内核中锁机制之RCU、大内核锁

    在上篇博文中笔者分析了关于完成量和互斥量的使用以及一些经典的问题,下面笔者将在本篇博文中重点分析有关RCU机制的相关内容以及介绍目前已被淘汰出内核的大内核锁(BKL).文章的最后对<大话Linu ...

  9. Linux时间子系统(五) POSIX Clock

    一.前言 clock是timer的基础,任何一个timer都需要运作在一个指定的clock上来.内核中维护了若干的clock,本文第二章描述了clock的基本概念和一些静态定义的posix clock ...

  10. 【C语言天天练(十三)】printf、fprintf、sprintf和snprintf函数

    #include <stdio.h> int printf(const char *format, ...); int fprintf(FILE *stream, const char * ...