AIX使用vi编辑器删除文本中所有空行

合集下载

vim 清除所有内容

vim 清除所有内容

vim 清除所有内容Vim 清除所有内容。

在使用Vim编辑器时,有时候我们需要清除文档中的所有内容,重新开始编辑新的内容。

那么,如何在Vim中快速清除所有内容呢?接下来,我将介绍几种方法来实现这个操作。

第一种方法是使用命令模式下的d命令。

首先,我们需要按下Esc键,确保我们处于正常模式。

然后输入命令:%d,即可删除所有内容。

其中,符号%表示对整个文档进行操作,d表示删除。

这样,我们就可以快速清除所有内容了。

第二种方法是使用可视模式下的操作。

同样地,我们首先需要按下Esc键,确保我们处于正常模式。

然后,我们可以按下Shift键和g键,进入文档末尾。

接着,按下v键,进入可视模式。

在可视模式下,我们可以使用上下左右键来选择文档中的内容。

选择完毕后,按下d键,即可删除选中的内容。

这样,我们也可以快速清除所有内容。

第三种方法是使用命令模式下的范围删除。

同样地,我们首先需要按下Esc键,确保我们处于正常模式。

然后,我们可以使用行号来指定删除的范围。

比如,输入:1,$d,即可删除从第一行到最后一行的所有内容。

其中,符号$表示最后一行的意思。

这样,我们也可以快速清除所有内容。

除了上述方法,我们还可以结合使用多个命令来实现清除所有内容的操作。

比如,我们可以先使用gg命令跳转到文档开头,然后结合dG命令来删除从当前行到最后一行的所有内容。

这样,同样可以快速清除所有内容。

总的来说,Vim提供了多种方法来快速清除所有内容。

我们可以根据自己的习惯和需求来选择合适的方法。

希望以上介绍对你有所帮助,谢谢阅读!。

AIX笔记

AIX笔记

vi编辑器 i编辑模式 I移动到行首 a光标前一个字母 A行末 h向左移 l 向右移 k向上 j向下 x删除当前光标 dd删除整行 ctrl+f 向下翻页,ctrl+b 向上翻页图形界面安装 xmanager 然后打开软件输入命令 export DISPLAY=IP:端口即可调用修改网卡属性命令 smitty chinet修改时间和时区 smitty-->system environments-->chang / show date and time-->using system defined value-->PRCAIX关机:shutdown -F hAIX系统安装方式光盘磁带(常用) 网络安装系统启动之前先把网线,光纤拔掉,然后系统启动按1进入SMS模式,选择启动顺序,依次安装升级安装后用命令OSlevel查看是否升级成功调用配置助手的命令是# install_assist 或 # configassist查看软件包的命令:lslpp -l |grep 软件名称查看进程的命令 ps –ef |grep 进程名diag 是硬件诊断命令查看日志文件alog -o -t |more管理系统环境smit system管理语言环境smit mlang六章用户管理与安全策略查看用户ID 和组的两个命令 id+user finger+user查看用户属性的命令是 lsuser+user 或者加具体参数文件系统有 NTFS FAT16 FAT32 NFS ext2/3/4(Linux中) raw(没有格式化或格式化中取消)svmon是查看内存的增加文件读写权限:chmod 777 /file_name修改欢迎界面是在/etc/motd目录下边重置loginretrice的数值可以直接vi /etc/secrrity/lastlog 或者直接smitty user--> reset#who 查看谁在登录#ps aux |grep pts|grep –v grep 查看用户登录进程Umast权限在创建文件夹的时候文件夹权限为755 但是创建文件的时候为664(不需要执行权限)lsvg -l +vg名是查看vg信息的lsvg -p是查看PVlsvg -o是查看激活中的vglsvg –m 是查看有没有做mirrorlspv -l +pv名是查看lvlspv -p是查看pp的lslv -m 是看lp个数和pp的分布–lslv –l 是看lv在pv的分布lsps –a paging spase 分布状态lsps –s paging spase 大小quorum 是vgda可用个数为51% lsvg+vg名称如果stale pv/pp不为0的话肯定是没有同步,要去查逻辑卷删除VG的命令#reducevg –d linvg hdisk3 hdisk4导入导出VG:在exportvg之前一定要查看两边pvid号是否一致,如果不一致先更新pvid号命令:抹掉pvid:#chdev –l hdisk1 –a pv=clear重新获取pvid:#chdev –l hdisk1 –a pv=yes批量清除pvid信息#for i in 3 4 5 6 7 8 9;do chdev -l hdisk${i} -a pv=clear;done批量获取pvid信息#for I in 3 4 5 6 7 8 9;do chdev -l hdisk${i} -a pv=yes;done查看VGDA信息命令:#lqueryvg –Atp hdisk1exportvg+vg名称,可以抹掉在odm库的vg信息,在exportvg之前必须要umout 所有文件系统,而且必须varyoffvg,然后importvg -y +vg名 +pv名命令:lspv查看当前vg里边有哪几个pvlsvg -l linvg 查看 linvg有几个lv 如果有的话umount掉varyoffvg linvg 去激活vgexportvg linvg 抹掉odm库的vg信息importvg -y linvg hdisk (exportvg的那个vg里边的某个盘vmstat 1 是一秒刷新一次pageing spase将LP导入同一个VG下的其他PV中首先创建vg #smitty vg 然后add一个original vg(标准)然后把两个pv加到vg中,可以用#lsvg –l linvg 查看此vg中有没有lv 如果没有的话在其中一个pv中创建lv #smitty lv #add一个lv 创建完成后可以用#lsvg –l linvg查看lv属性可以用#lslv –l lv_linvg 查看lv分布到哪几个PV上,是怎样分布的,用#lslv –m lv_lin/vg 查看lp是怎样分布的然后用#migratelp lv_linvg/lp个数/cop个数目标pv例:#migratelp lv_linvg/1/1 hdisk9扩容LV:首先得有一个lv 用#lslv –l lv_linvg 查看 lv分布到哪几个PV上然后用#lslv –m lv_linvg 查看lp是怎样分布的,然后#smitty lvSet characteristic of a logical volume →increase the size of a logical volume→选择lv名→然后进行扩容在线转移lv:把硬盘hdisk1上的lv00转移到hdisk2上# migratepv -l lv00 hdisk1 hdisk2在线扩容lv:#lsvg –l linvg#lsvg linvg#chfs –a size=+512M /fslv_test这样扩容风险较小,#chfs –a size=-512M /fslv_test缩容也可以这样,但是有一定的风险,谨慎操作扩容VG:扩容vg之前确认要加入的pv没有其他vg占用,如果有要varyoff掉,然后exportvg擦除信息,varyoff之前要确定没有人访问,lv是close状态方法一:#smitty vg →add a pv to vg→vgname,pvname方法二:#extentvg –f linvg hdisk8扩容VG报错:#extendvg –f linvg hdisk3 报错0516-1008 rmlv: Logical volume loglv00 must be closed. If the logical volume contains a filesystem, the umount command will close the LV device.0516-884 reducevg: Unable to remove physical volume hdisk8.#chvg –t 15 linvg#lsvg linvg 看一下maxpv数量#extendvg –f linvg hdisk3文件系统满了的话进行碎片整理4k整理成1k 比如文件问3k,4k为单位那就占用了一个单位有1k是浪费了,整理成1k的话那就使用了3个单位修改换页空间属性:#smitty lvm→paging space→change ps→可以根据需求添加或减少LP如果一块硬盘坏掉,怎样解决?①去mirror,然后备份数据#smitty vg → unmirror 然后选择vgname②把lv从pv删除,然后把pv从vg删除#smitty lv →removelv 然后选择lvname 进行删除#smitty vg→set vg属性→remove pv→选择vg→选择pv 进行删除③diag点亮硬盘,确定哪一块硬盘,把硬盘拔出④把硬盘放进去,然后用#cfgmgr -v识别硬盘然后用#chdev –l pvname –a pv=yes获取pvid⑤加vg,#smitty vg→set vg属性→add一个pv⑥做mirror,#smitty vg → mirror a vg→选择vg→选择同步类型→选择pv 然后同步另:如果lv做copy(mirror)的时候首先#lslv –m lv_linvg查看一下是否有做copy 如果没有的话 #smitty lv→set lv属性→add copy lv→lvname→copy数量→选择pv→选择pv分布范围(注:如果lv分布在两个pv上的话那么range pv 一定要选择maximum) →enterMount与umont#df –g查看有哪些文件系统 mount点在哪然后确定umount哪个文件系统用#fuser –uc /inst 查看有哪些用户在用这个文件系统如果没有用户再用,然后确定不对外提供服务了,可以使用umount /inst 来umount掉如果有用户再用可以用#fuser –kuxc /inst 杀掉mount在这个目录下边的进程,然后再umount 做这些操作之前一定要确定文件系统不对外提供服务而且没有用户在使用的情况下如果paging spase在open状态下,可以用#lsps –a查看有哪些ps 然后用#swapoff /dev/paging00Mount的时候如果根目录下有几个文件系统,你只 mount了一个文件系统的话,其他文件系统是隐藏的,所以你只能看到一个,把mount的那个文件系统umount 掉才能看到其他的举例1:比如一个2G的根目录,已经使用了98%了,而我们mount 的那个文件系统才使用20%了,这个时候就需要umount掉这个mount的文件系统查看一下别的隐藏文件举例2:比如安装一个应用,安装到了vg上边,安装完成之后mount一个文件系统然后发现这个应用找不到了(其实是隐藏了)然后又安装一遍,等这个文件系统umout的时候这个应用还是可以启动,但是数据跟mount上的那个文件系统的数据不一致,所以会出现问题Mount 一个文件到一个mount点的命令首先df –g 查看有没有mount和现在mount在哪然后#mount –v jfs2 /dev/fslv00 /beth查看文件系统目录#cat /etc/filesystems创建文件系统已经mount第一种方式:首先确定要创建多大的文件系统,然后查看vg的pp size #lsvg linvg#smitty fs→add一个→选择第一项→选择第一项→然后根据提示做(选择单位大小,然后决定num,然后填写mount点,然后设置重启是不是自动启动)回车确定,然后#lsvg –l linvg查看是否已经建立成功如果建立成功的话,直接#mount /lin_test01 (这一种方式不能确定分布在哪个pv上,也不能确定是否已经做mirro等)第二种方式:首先确定要创建多大的文件系统,然后查看vg的pp size #lsvg linvg然后创建lv #smitty lvm add一个lv就可以了#lsvg –l linvg 查看lv然后#smitty fs→add一个→选择第一项→选择第二项→选择lv和填写mount 点,设置重启是不是自动启动回车确定,然后#lsvg –l linvg 查看是否已经有挂载点→然后给lv扩容,增加两个lp,#smitty lv→set属性→然后Increase size→选择增加几个lp,分布在哪个PV上,回车确定,然后查看分布在哪些pv 上lslv –m fslv_linvg,确定没问题 #mount test002查看内存的命令 #lsattr -El mem0 #prtconf 看系统配置信息cfgmgr –v 扫描所有加电的设备清除pvid信息#chdev –l hdisk1 –a pv=clear获取pvid信息#chdev –l hdisk1 –a pv=yes把硬盘hdisk1上的lv00转移到hdisk2上#migratepv –l lv00 hdisk1 hdisk2Hd4 根系统 hd5引导系统 hd6换页空间(虚拟内存)hd8日志系统网络:一般IP分为四段,一段为8位一次是128 64 32 16 8 4 2 1A类地址是1开头B类地址是10开头C类地址是100开头永久修改主机名:#chdev –l inet0 -a hostname=xxnameTCP端口监听命令#netstat –an |grep tcp |more端口记录位置#cat /etc/services更改网卡IP#smitty chinet更改网卡属性#smitty chgenet查看所有磁盘 lsdev -Cc disk 直接查看磁盘信息lsattr -El hdisk0,lssrc -a 是查看所有系统服务 refresh -g 是重启服务lssrc -t +服务名查看服务状态startsrc -s +服务名启动服务系统服务:#while true; do df –g ;sleep 5 ;echo ““;done#cd inst#vi abc.sh#!/usr/bin/kshWhile true;do df –g ;sleep 5 ;echo ““;done:wq#chmod a+x abc.sh#/abc.sh#bg 是把命令放到后台运行 fg是在前台输出,exit系统进程就会停止把命令放到后台运行且不退出的命令是#nohup ./abc.sh &#cd /inst #ls –l nohup.out可以查看跑过的nohup命令#nohup ./abc.sh 2>&1 >/dev/null & 1是标准输出2是错误输出,此命令是把错误输出到文件中去#cd /inst #vi aa.sh#!/usr/bin/kshPID=`ps -ef |grep abc.sh |grep -v grep |awk '{print $2 }'`a=`ps -ef |grep abc.sh |grep -v grep |awk '{print $2 }'|wc -l `if [ $a -ne 0 ]thenecho " abc.sh shell is active "fikill -9 $PIDa=`ps -ef |grep abc.sh |grep -v grep |awk '{print $2 }'|wc -l `if [ $a -ne 0 ]thenecho " abc.sh shell is active "elseecho "abc.sh has been killed "fi控制用户使用crontab的两个文件:/var/adm/cron/cron.deny 不允许使用cron的用户/var/adm/cron/cron.allow 允许使用cron的用户如果两个文件都存在,那么只有cron.allow文件有效,如果两个文件都不存在,那么只有root才可以用croncrontab格式:分钟小时日月份星期命令0-59 0-23 1-31 1-12 0-6(0为周日)查看crontab #crontab –l删除crontab #crontab –r编辑crontab方法一:#crontab –e方法二:# crontab –l >/tmp/crontmp# vi /tmp/crontmp# crontab /tmp/crontmp备份与恢复备份分为:系统备份,完全备份,增量备份备份软件:IBM的TSM备份软件HP的NBU备份软件备份介质:软盘,CD,磁带,等等备份系统(rootvg)的时候,可以在/etc/exclude.rootvg更改不想备份的文件,然后#smitty mksysb的时候在EXCLUDE files? 选项选成yes实验:创建一个文件系统并且挂载,然后进行备份,查看备份状态#smitty fs→add/change/show/delete file systems→Enhanced journaled file systems→add an enhanced journaled file system选择VG→选择创建单位,挂载点,选择是否重新自动挂载→创建成功#lsvg –l linvg 查看创建的文件系统是否创建成功#mount /backup#lsvg –l linvg#smitty mksysb→选择挂载点→选择是否启动exclude,选择是否 create map files然后备份备份过程共可以克隆一个会话,#cd /tmp用ls –ltr查看最新生成的文件然后#cd mksysb.13893824→#ls –ltr里边.archive.list.13893824为要备份哪些文件_mksysb.13893824里边为已经备份了哪些文件,还可以用#more /image.data查看data信息;用#wc –l backup一个目录是查看这个目录下边有多少个文件注意:#smitty mksysb只备份rootvg 如果需要备份其他vg 使用#smitty savevg #smitty vg→back up a volume guoup→就是savevg备份文件系统可以#smitty fs#dd if=/dev/fslv00 of=/inst/aa.d count=1024把fslv00前1024个字节移动到aa.d文件 aa.d必须是读写的设备管理13、设备按照读写方式一般可分为两种类型:块设备和字符设备ls -l /dev b开头的是块设备 c开头的是字符设备 d开头的是目录设备号是一个数字,由主设备号(major number)和次设备号(minor number)组成:主设备号标志这设备的类型,次设备号有相应的设备驱动程序解释,常常标志着具体的物理设备。

删除多余空行的方法

删除多余空行的方法

删除多余空行的方法
哇塞,在处理文本的时候,多余的空行可真是让人头疼啊!那怎么删除这些多余的空行呢?别急,听我慢慢道来。

首先呢,我们可以使用一些文本编辑软件,比如常见的 Word 或记事本。

在 Word 中,打开文档后,点击“替换”按钮,在“查找内容”中输入“^p^p”,在“替换为”中输入“^p”,然后点击“全部替换”,这样就可以把连续的两个空行替换为一个空行啦!如果是在记事本中呢,可以使用正则表达式来查找和替换空行哦。

这步骤是不是挺简单的呀,但也要注意哦,一定要仔细检查替换的结果,免得不小心删掉了不该删的内容呀!
其次呢,这个过程的安全性和稳定性那可是相当靠谱的呀!只要你按照步骤来操作,一般是不会出现什么问题的啦。

就好像走在平坦的大道上,只要你稳稳地走,就不用担心会摔倒呀!而且这些文本编辑软件都是经过了无数次的测试和改进的,放心大胆地去用就好啦!
然后再说说它的应用场景和优势吧。

这可太广泛啦!比如你在整理文档、写文章、编辑代码的时候,都可能会遇到多余的空行,这时候用这个方法就能快速地让你的文本变得整洁干净呀!它的优势就在于简单快捷呀,不需要你花费太多的时间和精力就能搞定啦!这难道不香吗?
哎呀,我就想到了之前我整理一份文档的时候呀,那里面的空行真是多得让人眼花缭乱呀!我就用了这个方法,嘿,你还别说,一下子就把那些多余的空行都删掉啦,文档瞬间就变得清爽多了呀!效果那是杠杠的呀!
所以呀,删除多余空行的方法真的超好用的呀!大家赶紧去试试吧!。

三种简单删除空白行的方法

三种简单删除空白行的方法

三种简单删除空白行的方法1.引言概述部分的内容可写作如下:1.1 概述在文本编辑和数据处理的过程中,我们常常会遇到需要删除空白行的情况。

空白行可能是文本文件中多余的空行,或者是数据集中的无效记录。

无论是为了美观地呈现文本内容,还是为了提高数据处理的效率,删除空白行都是一个重要的操作。

在本文中,我们将介绍三种简单且常用的方法来删除空白行。

这些方法分别是使用编程语言处理空白行、使用文本编辑器进行空白行删除,以及其他一些基于特定需求的方法。

首先,我们将详细介绍使用编程语言处理空白行的方法。

通过编写简单的脚本或程序,我们可以自动识别并删除文本文件或数据集中的空白行。

这种方法适用于对大量文本或数据进行操作的场景,可以提高处理效率并减少手动操作的工作量。

其次,我们将介绍使用文本编辑器进行空白行删除的方法。

大多数文本编辑器都提供了删除空白行的功能,我们只需利用相应的快捷键或命令,即可轻松完成这一操作。

这种方法适用于对单个文本文件或少量数据进行操作的情况,操作简便快捷。

最后,我们将探讨其他一些基于特定需求的方法。

这些方法可能不直接删除空白行,而是针对特定的应用场景进行处理。

例如,在某些情况下,我们可能只需要删除多余的空行,而保留一定数量的空行用于美观排版。

或者,在数据处理过程中,我们可能需要保留某些特殊的空白行作为分隔符或标识。

因此,根据实际需求,选择合适的方法来处理空白行很重要。

通过本文的介绍和讨论,希望读者能够了解并掌握三种简单删除空白行的方法,并能根据实际需求选择合适的方法进行操作。

删除空白行可以提高文本编辑和数据处理的效率,使得内容更加整洁和易读。

同时,我们也必须注意在删除空白行时保留必要的空行,以便于正确表达内容或满足特定的需求。

文章结构部分的内容如下:1.2 文章结构在本文中,我们将讨论三种简单删除空白行的方法。

文章将按照以下结构进行展开:1. 引言:在引言部分,我们将简要介绍本文的主题——删除空白行。

AIX小型机日常维护

AIX小型机日常维护

AIX小型机日常维护一:开机、关机命令1、开机1)在开机之前,先检查电源是否插好;然后,按下前面板上白色电源开关后,主机会进入硬件自检和引导阶段;此时,前面板上的液晶会有代码跳动,每一个代码表示自检或引导的不同阶段,最后在引导结束时,前面板液晶上的代码消失,彩显或终端上有显示,进入系统初始化和登录提示。

如果主机停在某一代码上,引导不下去(大于半小时),说明系统可能有故障,请与IPACS 联系,并把代码一起报给我们。

2)系统进入和退出login: 输入用户名(例如:user01)password: 输入用户口令若用户名及口令均正确,则用户将登陆成功。

此时系统会出现命令提示符$或#,即表示可接收用户输入的操作系统命令。

退出系统:或 exit或logout。

例:#(or$)exit#(or$)Ctrl^D注,#为ROOT用户的命令提示符,$为一般用户2、关机1)关闭应用程序及数据库2)HACMP软件,先用smit clstop关闭HACMP。

3)命令行打“shutdown -F”进关机,显示器上出现“Halt Completed”可按下前面板上白色电源开关,关电源。

如果需要关机后重新引导,打“shutdown -Fr”命令。

还可以使用init 6二、基本定义1、Physical Volume(PV)Physical Volume就是指硬盘,在AIX中用hdiskx表示。

7133磁盘阵列中的某个硬盘用pdiskx表示,pdiskx对应的AIX 操作系统中Physical Volume用hdiskx表示。

用lspv命令来看一下PV与VG对应关系用lsdev -Cc disk命令看一下硬盘状态,Available 表示硬盘可用,Defined 表示物理硬盘找不到,只有逻辑定义。

2、Volume Group(VG)Volume Group 是由多个Physical Volume组成的集合。

Physical Partition是VG分配空间的最小单位。

linux下vim中关于删除某段,某行,或全部删除的命令

linux下vim中关于删除某段,某行,或全部删除的命令
您使用的浏览器不受支持建议使用新版浏览器
linux下 vim中关于删除某段,某行,或全部删除的命令
1,先打开某个文件: vim filename
2,转到文件结尾 在命令模式输入4,删除所有内容:先用G 转到文件尾,然后使用下面命令: :1, .d
5,删除第10行到第20行的内容:先用20G转到第20行,然后使用下面命令: :9, .d
6,关于删除的一些说明: 1 在vi中," . "表示当前行,“1,。”表示从第一行到当前行,“d ” 表示删除。 2 如果只是想删除某一行,那么把光标指到该行,然后输入d d 即可。
7.设置显示行号 在 里执行(在普通模式下直接按冒号,并输入下面的命令)
:set number

vi常用使用技巧

vi常用使用技巧

vi常用使用技巧金融系统事业部—徐卓兴vi可以说是在Unix操作系统中最常用的文本编辑工具了,但是因为它的命令集众多,很多人都不习惯使用它,特别是习惯了使用windows操作系统下编辑工具的人,在初次接触vi时会觉得非常的不习惯而拒绝使用它,其实您只需要掌握基本命令,然后加以灵活运用,就会发现它的优势,并会逐渐喜欢使用这种方法。

本文介绍了主要介绍使用vi的一些常用技巧。

一、基本命令介绍1.光标命令k、j、h、l——上、下、左、右光标移动命令。

注意:尽量不要使用四个箭头键来移动光标,一方面是四个箭头距离字母区比较远,使用不便,另一方面是在某些终端中不支持箭头的使用。

而k、j、h、l这4个键正是右手在键盘上放置的基本位置,移动非常快捷。

Ctrl+G ——光标所在位置的行数和列数报告。

Ctrl+F ——向后翻一页。

Ctrl+B ——向前翻一页。

Ctrl+L ——刷新屏幕(乱屏时使用):n ——光标定位到第n行。

G ——光标移动到文件最后一行。

0 ——光标移动到行首。

$ ——光标移动到行尾。

2.编辑命令o ——在当前行下面新开一行。

O ——在当前行上面新开一行。

i、a ——在光标的前、后处插入字符。

cw ——改变光标所在处的单词。

dw ——删除光标所在处的单词的命令。

X ——删除一个字符。

D ——删除光标所在处到行尾的所有字符。

dd、ndd——删除整行、删除当前行开始的n行。

n<<、n>> ——从当前行开始的n行全部向左、右调整缩进格式,该命令用于调整源码的缩进格式。

3.查找命令/string、?string ——从光标所在处向后或向前查找相应的字符串的命令。

n ——移动光标到下个匹配的位置。

4.拷贝复制命令yy、p ——拷贝一行到剪贴板或取出剪贴板中内容的命令。

二、常用技巧1.设置tab键和左移(<<)、右移(>>)命令的移动位置。

在登录用户的根目录中建立一新文件.exrc,在文件中添加如下两行set tabstop=4set shiftwidth=4第一行设置tab键的移动位置为4个空格长度,第二行设置左移或右移的单位为4个空格长度。

vi编辑器常用的命令及快捷键

vi编辑器常用的命令及快捷键
Ftext 在当前行向后查找text
ttext 在当前行向前查找text,并将光标定位在text的第一个字符
Ttext 在当前行向后查找text,并将光标定位在text的第一个字符
vi的状态
选项 作用
:.= 打印当前行的行号
:= 打印文件中的行数
^g 显示文件名、当前的行号、文件的总行数和文件位置的百分比
E 移到下一个字的结尾,忽略标点符号
( 移到句子的开头
) 移到句子的结尾
{ 移到段落的开头
} 移到下一个段落的开头
x 删除光标处的字符,可以在x前加上需要删除的字符数目
nx 从当前光标处往后删除n个字符
X 删除光标前的字符,可以在X前加上需要删除的字符数目
nX 从当前光标处往前删除n个字符
0或| 移到当前行的第一列
n| 移到当前行的第n列
^ 移到当前行的第一个非空字符
$ 移到当前行的最后一个字符
+或return 移到下一行的第一个字符
B 移到前一个字的开头,忽略标点符号
L 移到屏幕的最后一行
M 移到屏幕的中间一行
H 移到屏幕的第一行
e 移到下一个字的结尾
:set ic 查找时忽略大小写
:set noic 查找时对大小写敏感
:s/oldtext/newtext 用newtext替换oldtext
:m,ns/oldtext/newtext 在m行通过n,用newtext替换oldtext
在vi中复制文本
命令 复制操作
yy 将当前行的内容放入临时缓冲区
nyy 将n行的内容放入临时缓冲区
p 将临时缓冲区中的文本放入光标后
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

AIX使用vi编辑器删除文本中所有空行
2010-08-09 10:40
我这里在编辑一个很大的文件,有几万行,都是文件名sheetid, 中间有很多空行,我现在要做的事情就有要把这个文件中的空行都删除掉,这个本来想在ultraedit里面完成的,结果弄了好半天都没有搞定,时间紧急也没法再去慢慢的try了,干脆放到AIX上面使用vi来做,也是在网上google 结果找到很多这样的:
12)删除操作
:%s/r//g 删除DOS方式的回车^M
:%s= *$== 删除行尾空白
:%s/^(.*)n1/1$/ 删除重复行
:%s/^.pdf/new.pdf/ 只是删除第一个pdf
:%s/// 又是删除多行注释(咦?为什么要说「又」呢?)
:g/^s*$/d 删除所有空行 :g/^s*$/d 删除所有空行
:g!/^dd/d 删除不含字符串'dd'的行
:v/^dd/d 同上(译释:v == g!,就是不匹配!)
:g/str1/,/str2/d 删除所有第一个含str1到第一个含str2之间的行
:v/./.,/./-1join 压缩空行
:g/^$/,/./-j 压缩空行
ndw 或 ndW 删除光标处开始及其后的 n-1 个字符。

d0 删至行首。

d$ 删至行尾。

ndd 删除当前行及其后 n-1 行。

x 或 X 删除一个字符。

Ctrl+u 删除输入方式下所输入的文本。

^R 恢复u的操作
J 把下一行合并到当前行尾
V 选择一行
^V 按下^V后即可进行矩形的选择了
aw 选择单词
iw 内部单词(无空格)
as 选择句子
is 选择句子(无空格)
ap 选择段落
ip 选择段落(无空格)
D 删除到行尾
x,y 删除与复制包含高亮区
dl 删除当前字符(与x命令功能相同)
d0 删除到某一行的开始位置
d^ 删除到某一行的第一个字符位置(不包括空格或TAB字符)
dw 删除到某个单词的结尾位置
d3w 删除到第三个单词的结尾位置
db 删除到某个单词的开始位置
dW 删除到某个以空格作为分隔符的单词的结尾位置
dB 删除到某个以空格作为分隔符的单词的开始位置
d7B 删除到前面7个以空格作为分隔符的单词的开始位置
d)删除到某个语句的结尾位置
d4)删除到第四个语句的结尾位置
d(删除到某个语句的开始位置
d)删除到某个段落的结尾位置
d{ 删除到某个段落的开始位置
d7{ 删除到当前段落起始位置之前的第7个段落位置
dd 删除当前行
d/text 删除从文本中出现“text”中所指定字样的位置,
一直向前直到下一个该字样所出现的位置(但不包括该字样)之间的内容
dfc 删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括该字符)之间的内容
dtc 删除当前行直到下一个字符“c”所出现位置之间的内容
D 删除到某一行的结尾
d$ 删除到某一行的结尾
5dd 删除从当前行所开始的5行内容
dL 删除直到屏幕上最后一行的内容
dH 删除直到屏幕上第一行的内容
dG 删除直到工作缓存区结尾的内容
d1G 删除直到工作缓存区开始的内容
....
上面这段我要用的是这个地方
:g/^s*$/d 删除所有空行
使用vi打开文本文件,然后进入命令模式输入 g/^s*$/d
这个时候要等待,它现在已经在处理文件了,最后保存即可,第一次用这个功能,不懂!下完命令后都没有等待,然后还以为自己哪个地方出错了呢。

感受到很强大的功能。

相关文档
最新文档