VI中的多行删除与复制
法一:
单行删除,:1(待删除行)d
多行删除 ,:1,10d
法二:
光标所在行,dd
光标所在行以下的N行,Ndd
方法1:
光标放到第6行,
输入:2yy
光标放到第9行,
输入:p
此方法适合复制少量行文本的情况,复制第6行(包括)下面的2行数据,放到第9行下面。
方法2:
命令行模式下输入
6,9 co 12
复制第6行到第9行之间的内容到第12行后面。
方法3:
有时候不想费劲看多少行或复制大量行时,可以使用标签来替代
光标移到起始行,输入ma
光标移到结束行,输入mb
光标移到粘贴行,输入mc
然后 :'a,'b co 'c 把 co 改成 m 就成剪切了
要删除多行的话,可以用 :5, 9 deVIM常用命令
常用命令1) 光标命令
k,j,h,l---上下左右光标移动命令,虽然可以在Linux中使用键盘右边的四个光标键, 但是记住这四个命令还有非常有用的,也就是右手在键盘上放置的位置部分
nG ----n为行数,该命令立即使光标跳到指定行。
Ctrl+G-----光标所在位置的行数和列数报告
w,b------使光标向前或向后跳过一个单词
2) 编辑命令
i,a,r -------在光标的前,后,上方插入字符命令(i=insert,a=append,r=replace)
cw,dw------ 改变(置换)/删除光标所在处的单词的命令 (c=change,d=delete)
x,d$,dd -----删除一个字符,光标所在处到行尾的所有字符,和整行的命令
3) 查找命令
/string, ?string-----从光标所在处向后/向前查找相应的字符串的命令
4)拷贝复制命令
yy,p -----拷贝一行到剪贴板/取出剪贴板中内容的命令常见问题及应用技巧
1) 在一个新文件中读/etc/passwd中的内容,取出用户名部分
vi file
:r /etc/passwd 在打开的文件file中光标所在处读入/etc/passwd
:%s/:.*//g 删除/etc/passwd中用户名后面的从冒号开始直到行尾的所有部分
:3r /etc/passwd 这是在指定的行号后面读入文件内容
另外一种方法删掉文件中所有的空行及以#开始的注释行
#cat squid.conf.default | grep -v '^$' | grep -v '^#' 2) 在打开一个文件编辑后才知道登录的用户对该文件没有写权,不能存盘
vi file
:w /tmp/1 既然没法存盘,不想放弃所做的所有修改,先临时存到/tmp/1
:20,59w /tmp/1 或者仅仅把第20到59行之间的内容存盘成文件/tmp/1
3) 用VI编辑一个文件,但需要删除大段大段的内容
vi file
Ctrl+G 把光标移到需要删除的行的处按ctrl+G显示行号,再到结尾处再按Ctrl+G.
:23,1045d 假定两次行号为23和1045,则把这几间的内容全删除 也可以在开始和结束两行中用ma,mb命令标记后用:'a,'bd删除.
4) 在整个文件或某几行中在行首或行尾加一些字符串
vi file
:3,$s/^/some string / 在文件的第一行至最后一行的行首前插入some string
:%s/$/ some string/g 在整个文件每一行的行尾添加 some string :%s/string1/string2/g 在整个文件中替换string1成string2
:3,7s/string1/string2/ 仅替换文件中的第三到七行中的string1成string2 Note: s为substitute,%表示所有行,g表示global 5) 同时编辑两个文件,在两个文件中拷贝剪贴文本
vi file1 file2
yy 同时打开两个文件,在文件1的光标所在处拷贝所在行
:n 切换到文件2 (n=next)
p 在文件2的光标所在处粘贴所拷贝的行
:N 切换回文件1
6) 替换文件中的路径 :%s#/usr/bin#/bin#g 把文件中所有路径/usr/bin换成/bin
或者用
:%s//usr/bin//bin/g 在'/'前用符号指出'/'是真的单个字符'/'
7) 用 vi 多行注释
如果要给多行程序作注释,一个笨办法就是 插入 # ,然后用 j 跳到下一行用 . 命令,重复上个命令。如果要注释几百行,这样的方法恐怕太愚蠢了。一个聪明的办法是:
:.,+499 s/^/#/g

转载于:https://www.cnblogs.com/azhqiang/p/7885341.html

VI中的多行删除与复制相关推荐

  1. 删除dataframe中的某行 删除不掉是为啥

    是不是没有inplace=true????????????? 删除dataframe中的a行 删除不掉 应该改成用一个dataframe接住drop后的df

  2. 【python】使用python脚本将CelebA中图片按照 list_attr_celeba.txt 中属性处理(删除、复制、移动)

    1.目的 CelebA中的照片有四十种属性,参见: [AI]CelebA数据介绍.下载及说明 根据需求从celebA中获取我们想要的图片,方法是将CelebA中图片按照 list_attr_celeb ...

  3. vi中多个文件相互之间的复制、粘贴功能简介!

    大家在vi编辑中,常常遇到想把文件A里面的一行或多行,复制到B文件里面去  (可能很多人不知道怎么办),该怎么做了?  下面是几中方法:  1.如果你有多台机器,而且是联网的,你可以用netterm虚 ...

  4. linux 删除文件夹中所有文件命令行,Linux中使用命令行删除文件夹

    使用rm -rf 目录名字 命令便可html -r 就是向下递归,无论有多少级目录,一并删除 -f 就是直接强行删除,不做任何提示的意思linux eg:post 删除文件夹实例:rm -rf /va ...

  5. 删除PHP配置文件中的注释行

    删除PHP配置文件中的注释行 删除注释行: sed -i '/^;.*/d' filename 删除空行: sed -i /^[[:space:]]*$/d filename 如果只是放在内存里预览, ...

  6. 在linux中的vi中的删除操作,linux中vi和vim操作

    一.简单介绍 vi 和 vim 类似于windows的文本编辑器 所有的Linux系统都会内置vi文本编辑器 vim可以看做是vi增强版,具有程序编辑能力,支持语法高亮,代码补全,编译及错误跳转等功能 ...

  7. linux 中vi中复制命令,使用vi文本编辑器及Linux复制粘贴小技巧

    想成为一个高效的DBA,离不开熟练使用vi编辑器,尤其是准备OCM考试的人员更为如此.另外,在Linux系统中,通过鼠标左键选中的文字,再通过按住鼠标中间滚动条来粘贴功能也是需要掌握的小技巧.我接触L ...

  8. linux 复制指定类型,用Linux命令行实现删除和复制指定类型的文件

    (一)Linux 删除当前目录及子目录中所有某种类型的文件 方法1 : 此方法不能处理目录中带空格的那些. rm -rf `find . -name "*.example"` Li ...

  9. linux vi 删除行命令,在Vim/Vi中删除行、多行、行范围、所有行及包含模式的行

    本文介绍如何在Vim/Vi中删除行,操作系统为Linux.Vim或其早期版本Vi预装在大多数Linux发行版和macOS中,如果您是系统管理员或只是普通的Linux用户,了解Vim的基础很重要,通常, ...

最新文章

  1. android layout 工具栏,没有工具栏的Android CollapsingToolbarLayout在某个点停止而不是完全关闭...
  2. MYSQL专题-绝对实用的MYSQL优化总结
  3. 第二次学习笔记(linux/unix操作系统)
  4. 类型缩放Google map 地图类型
  5. 报错型sql注入原理分析
  6. 机器学习笔记(了解)
  7. 发那科机器人网段_FANUC机器人基本操作指导
  8. 寻找点赞所需的URL
  9. 网络编程之 进程间的通信之管道的使用
  10. 最小化功能区:显露无遗
  11. 可供创业团队技术开发参考的10条经验
  12. WritableWorkbook 详细用例 (转)
  13. java interface作用是什么_关于Java反射原理:
  14. 产品读书《Facebook效应:看Facebook如何打造无与伦比的社交帝国》
  15. 排坑·IPhoneIOS中不兼容正则中的断言匹配
  16. 本题要求编写程序,计算序列 1 + 1/2 + 1/3 + ... 的前N项之和。
  17. 进程双向通信c语言代码,进程间通信——管道(示例代码)
  18. 电子血压计方案芯片设计|血压测量模块
  19. 搜索引擎选型调研文档
  20. java签到功能的实现_java实现的签到系统

热门文章

  1. 20道做完信心嫉妒膨胀的前端测试题
  2. java和前端哪个难学?
  3. 学习web前端,合理的学习路线,如何成为一个合格的前端工程师
  4. 分享一年定级资深前端,与你分享他的完整学习过程
  5. 如何添加二级标题_怎样给Word文档添加目录?
  6. php 生成器 封装,php生成器
  7. 测控技术与仪器专业c语言教学视频,测控技术与仪器要学哪些基础和专业课程...
  8. android调用python模块 chaquo_小猿圈python学习-系统调用os模块
  9. 基于matlab移位寄存器,基于Matlab产生m序列(DOC X页).doc
  10. python循环一段代码_Python循环语句代码详解:while、for、break