VI中的多行删除与复制
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中的多行删除与复制相关推荐
- 删除dataframe中的某行 删除不掉是为啥
是不是没有inplace=true????????????? 删除dataframe中的a行 删除不掉 应该改成用一个dataframe接住drop后的df
- 【python】使用python脚本将CelebA中图片按照 list_attr_celeba.txt 中属性处理(删除、复制、移动)
1.目的 CelebA中的照片有四十种属性,参见: [AI]CelebA数据介绍.下载及说明 根据需求从celebA中获取我们想要的图片,方法是将CelebA中图片按照 list_attr_celeb ...
- vi中多个文件相互之间的复制、粘贴功能简介!
大家在vi编辑中,常常遇到想把文件A里面的一行或多行,复制到B文件里面去 (可能很多人不知道怎么办),该怎么做了? 下面是几中方法: 1.如果你有多台机器,而且是联网的,你可以用netterm虚 ...
- linux 删除文件夹中所有文件命令行,Linux中使用命令行删除文件夹
使用rm -rf 目录名字 命令便可html -r 就是向下递归,无论有多少级目录,一并删除 -f 就是直接强行删除,不做任何提示的意思linux eg:post 删除文件夹实例:rm -rf /va ...
- 删除PHP配置文件中的注释行
删除PHP配置文件中的注释行 删除注释行: sed -i '/^;.*/d' filename 删除空行: sed -i /^[[:space:]]*$/d filename 如果只是放在内存里预览, ...
- 在linux中的vi中的删除操作,linux中vi和vim操作
一.简单介绍 vi 和 vim 类似于windows的文本编辑器 所有的Linux系统都会内置vi文本编辑器 vim可以看做是vi增强版,具有程序编辑能力,支持语法高亮,代码补全,编译及错误跳转等功能 ...
- linux 中vi中复制命令,使用vi文本编辑器及Linux复制粘贴小技巧
想成为一个高效的DBA,离不开熟练使用vi编辑器,尤其是准备OCM考试的人员更为如此.另外,在Linux系统中,通过鼠标左键选中的文字,再通过按住鼠标中间滚动条来粘贴功能也是需要掌握的小技巧.我接触L ...
- linux 复制指定类型,用Linux命令行实现删除和复制指定类型的文件
(一)Linux 删除当前目录及子目录中所有某种类型的文件 方法1 : 此方法不能处理目录中带空格的那些. rm -rf `find . -name "*.example"` Li ...
- linux vi 删除行命令,在Vim/Vi中删除行、多行、行范围、所有行及包含模式的行
本文介绍如何在Vim/Vi中删除行,操作系统为Linux.Vim或其早期版本Vi预装在大多数Linux发行版和macOS中,如果您是系统管理员或只是普通的Linux用户,了解Vim的基础很重要,通常, ...
最新文章
- android layout 工具栏,没有工具栏的Android CollapsingToolbarLayout在某个点停止而不是完全关闭...
- MYSQL专题-绝对实用的MYSQL优化总结
- 第二次学习笔记(linux/unix操作系统)
- 类型缩放Google map 地图类型
- 报错型sql注入原理分析
- 机器学习笔记(了解)
- 发那科机器人网段_FANUC机器人基本操作指导
- 寻找点赞所需的URL
- 网络编程之 进程间的通信之管道的使用
- 最小化功能区:显露无遗
- 可供创业团队技术开发参考的10条经验
- WritableWorkbook 详细用例 (转)
- java interface作用是什么_关于Java反射原理:
- 产品读书《Facebook效应:看Facebook如何打造无与伦比的社交帝国》
- 排坑·IPhoneIOS中不兼容正则中的断言匹配
- 本题要求编写程序,计算序列 1 + 1/2 + 1/3 + ... 的前N项之和。
- 进程双向通信c语言代码,进程间通信——管道(示例代码)
- 电子血压计方案芯片设计|血压测量模块
- 搜索引擎选型调研文档
- java签到功能的实现_java实现的签到系统
热门文章
- 20道做完信心嫉妒膨胀的前端测试题
- java和前端哪个难学?
- 学习web前端,合理的学习路线,如何成为一个合格的前端工程师
- 分享一年定级资深前端,与你分享他的完整学习过程
- 如何添加二级标题_怎样给Word文档添加目录?
- php 生成器 封装,php生成器
- 测控技术与仪器专业c语言教学视频,测控技术与仪器要学哪些基础和专业课程...
- android调用python模块 chaquo_小猿圈python学习-系统调用os模块
- 基于matlab移位寄存器,基于Matlab产生m序列(DOC X页).doc
- python循环一段代码_Python循环语句代码详解:while、for、break