分享好友 最新动态首页 最新动态分类 切换频道
linux的vim两行合并一行,Vim多行缩进及高级命令【转】
2024-12-26 20:47

%s/source/dist/g 或者 :1,$

linux的vim两行合并一行,Vim多行缩进及高级命令【转】

s/source/dist/g  :s/vivian/sky/ 替换当前行第一个 vivian 为 sky

:s/vivian/sky/g 替换当前行所有 vivian 为 sky

:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky

n 为数字,若 n 为 .,表示从当前行开始到最后一行

:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为

sky

:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为

sky

可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符

:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / )

/oradata/apras/替换成/user01/apras1/

* ************************************

1.:s/vivian/sky/ 替换当前行第一个 vivian 为 sky

:s/vivian/sky/g 替换当前行所有 vivian 为 sky

2. :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky

(n 为数字,若 n 为 .,表示从当前行开始到最后一行)

3. :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为

sky

:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为

sky

4. 可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符

:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

5. 删除文本中的^M

问题描述:对于换行,window下用回车换行(0A0D)来表示,linux下是回车(0A)来表示。这样,将window上的文件拷到unix上用时,总会有个^M.请写个用在unix下的过滤windows文件的换行符(0D)的shell或c程序。

· 使用命令:cat filename1 | tr -d “^V^M” >

newfile;

· 使用命令:sed -e “s/^V^M//” filename >

outputfilename。需要注意的是在1、2两种方法中,^V和^M指的是Ctrl+V和Ctrl+M。你必须要手工进行输入,而不是粘贴。

· 在vi中处理:首先使用vi打开文件,然后按ESC键,接着输入命令:%s/^V^M//。

· :%s/^M$//g

如果上述方法无用,则正确的解决办法是

· tr -d " " < src >dest

· tr -d "015" dest

· strings A>B

6. 其它

利用 :s 命令可以实现字符串的替换。具体的用法包括

:s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1

:s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1

:.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1

:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1

:g/str1/s//str2/g 功能同上

从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索

字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

[精华] VI高级命令集锦

鉴于大家在使用VI 的时候有一定的陌生,在这里借花献佛,从兄弟版[SHELL]中整理出以下关于VI编程的高级技巧,希望对大家学习UNIX有所帮助,并希望大家能结合使用HPUX的心得体会对这些经验进行进一步的扩展。

1.交换两个字符位置

xp

2.上下两行调换

ddp

3.把文件内容反转

:g/^/m0/ (未通过)

4.上下两行合并 J

5.从当前行删除到最后一行

dG

6.从当前位置删除到行尾

d$

7.从当前位置复制到行尾

y$ 如果要粘贴到其他地方 p 就可以了

由于vi 是建立在 EX 上的 所以 当键入 : 时就来到了 EX 命令状态 8.

:ab string strings 例如 ":ab usa United States of America" ,

当你在文见里插入 usa 时 United States of America 就蹦出来了

9.

:map keys new_seq 定义你当前 键盘命令 10.

:set [all] vi or ex 的编辑状态

如 显示每行 :set nu 11.

在命令状态下,nyy表示拷贝从光标行起的下n行内容,p表示paste,可刚复制的内容粘贴在光标处的

下面。 12.

单个字符替换用r,覆盖多个字符用R,用多个字符替换一个字符用s,整行替换用S 13.

:%s/old_word/new_word/g

这个指令是于在整个文件中替换特定字符串 14.光标控制

k:上移 nk 上移n行

j:下移 nj 下移n行

将光标移到第n行,按下 mk

将光标移到第m行,按下 "ay'k

即将第n到m的行存到a寄存器,以此类推,b,c........寄存器等

这样就可以将你常用的需要复用的内容粘贴到不同的寄存器中以备用

想粘贴到某处,直接将光标移到某地,按下 ‘ap 即可,以此类推,b,c........寄存器等

在当前屏幕中

H 跳到第一行

M 跳到中间一行

L 跳到最后一行 15.

表8-2 删除命令

删除命令操作

d l 删除当前字符(与x命令功能相同)

d 0 删除到某一行的开始位置

d ^ 删除到某一行的第一个字符位置(不包括空格或TA B字符)

d w 删除到某个单词的结尾位置

d 3 w 删除到第三个单词的结尾位置

d b 删除到某个单词的开始位置

d W 删除到某个以空格作为分隔符的单词的结尾位置

d B 删除到某个以空格作为分隔符的单词的开始位置

d 7 B 删除到前面7个以空格作为分隔符的单词的开始位置

d) 删除到某个语句的结尾位置

d 4) 删除到第四个语句的结尾位置

d( 删除到某个语句的开始位置

d } 删除到某个段落的结尾位置

d { 删除到某个段落的开始位置

d 7 { 删除到当前段落起始位置之前的第7个段落位置

d d 删除当前行

d /t e x t 删除从文本中出现“ t e x t”中所指定字样的位置,一直向前直到下一个该字样所出现的

位置(但不包括该字样)之间的内容

d fc 删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括

该字符)之间的内容

d tc 删除当前行直到下一个字符“ c”所出现位置之间的内容

D 删除到某一行的结尾

d $ 删除到某一行的结尾

5 d d 删除从当前行所开始的5行内容

d L 删除直到屏幕上最后一行的内容

d H 删除直到屏幕上第一行的内容

d G 删除直到工作缓存区结尾的内容

d 1 G 删除直到工作缓存区开始的内容

修改命令操作

c l 更改当前字符

c w 修改到某个单词的结尾位置

c 3 w 修改到第三个单词的结尾位置

c b 修改到某个单词的开始位置

c W 修改到某个以空格作为分隔符的单词的结尾位置

c B 修改到某个以空格作为分隔符的单词的开始位置

c 7 B 修改到前面7个以空格作为分隔符的单词的开始位置

c 0 修改到某行的结尾位置

c) 修改到某个语句的结尾位置

c 4) 修改到第四个语句的结尾位置

c( 修改到某个语句的开始位置

c } 修改到某个段落的结尾位置

c { 修改到某个段落的开始位置

c 7 { 修改到当前段落起始位置之前的第7个段落位置

c tc 修改当前行直到下一个字符c所出现位置之间的内容

C 修改到某一行的结尾

c c 修改当前行

5 c c 修改从当前行所开始的5行内容

.重复上一次修改! 表8-4 替换命令

替换命令操作

s 将当前字符替换为一个或多个字符

S 将当前行替换为一个或多个字符

5 s 将从当前字符开始的5个字符替换为一个或多个字符

vi替换使用规则

:g/s1/s/s2/s3/g

第一个g表示对每一个包括s1的行都进行替换,第二个g表示对每一行包括s1的行所有的s2都用s3替换

s表示替换,s2是要被替换的字符串,他可以和s1相同(如果相同的话用//代替),s3是替换字符串 16.

fx

往右移动到 x 字符上

Fx

往左移动到 x 字符上

tx

往右移动到 x 字符前

Tx

往左移动到 x 字符后

(注意:以上四个命令中,其中x是键入的字符)

;

分号,配合 f 和 t 使用,重复一次 ,

逗号,配合 f 和 t 使用,反方向重复一次

17. vi 环境选项 Solaris ksh

noautoindent nomodelines noshowmode

最新文章
外贸独立站推广外贸网站建站注意事项
  无论是刚做外贸的企业,还是已经做了平台的传统外贸企业,越来越多的外贸企业认识到了外贸网站建站的重要性。但让外贸企业困惑的是,现在做外贸网站的公司那么多如何做一个好的具备营销功能高转化的外贸网站呢?下面兴田网络为大家介绍
网站推广之搜索引擎篇(转)
企业网站建立好了以后,就要想着如何使自己的网站让更多的人知道,如何吸引更多的人访问它,从而给自己争取更多的潜在客户。推广的办法有很多,比如说可以做路牌灯箱广告或者在电视台和纸媒体做宣传,但是这
雷克萨斯汽车报价及图片大全
品牌是日本汽车公司旗下的豪华汽车品牌。目前该品牌下销售的车型均为进口版,没有国产版。主要生产SUV车型、轿车和MPV车型。那么雷克萨斯suv的价格是多少呢?我们一起去看看吧。入门suv车型仅售25.90万入门级车型是机动车车型中售价最低的
页面跳转和锚点跳转(跳转到页面的某一固定位置)
页面跳转——也叫超链接跳转页面,从一个页面跳转到另外一个页面; 锚点跳转——从一个页面跳转到当前页面的某一个位置,也可以跳转到其他页面的某一位置。 页面跳转 !--超链接:a标签用于实现页面跳转,href是引入
邦彦技术12月13日获融资买入969.10万元,融资余额6100.08万元
12月13日,涨1.76%,成交额1.03亿元。两融数据显示,当日邦彦技术获融资买入额969.10万元,融资偿还1036.63万元,融资净买入-67.53万元。截至12月13日,邦彦技术融资融券余额合计6100.08万元。融资方面,邦彦技术当日融资买入969.10万元。
玩遍博客网站,我整理了全套的建站技术栈
搭建博客网站是个人进入互联网世界的最常见方式之一。伴随着网站技术的发展,如何搭建博客网站已经变得非常容易了。当然,你可以选择诸如 新浪博客、CSDN、博客园 之类的大型网站,快速创建依赖于大平台的个人博客࿰
经营分析大数据
一、大数据的崛起大数据时代的到来,给各行各业带来了巨大的变革。作为企业经营的重要组成部分,经营分析也因此发生了翻天覆地的变化。在过去,企业经营决策主要依赖于经验和直觉,而大数据的运用使得经营决策更加科学化、精确化。二、大数
飞鱼CRM如何操作,广告投放怎么合作
飞鱼CRM如何操作,广告投放怎么合作1)AD广告投放后台---工具箱---飞鱼CRM2)飞鱼CRM独立登陆网址:https://crm.bytedance.com/超级管理员用AD后台的账号和密码进行登录飞鱼管理员与普通员工用手机号码+验证码的方式进行登录飞鱼**管理员角
百度蜘蛛池出租:搜狗蜘蛛池服务,高效引流推广的秘密武器
本文目录导读:什么是搜狗蜘蛛池服务?搜狗蜘蛛池服务的优势如何利用搜狗蜘蛛池服务进行引流推广?在互联网时代,网站流量是衡量一个网站成功与否的重要指标,如何有效地提升网站流量,成为了众多网站运营者关注的焦点,搜狗蜘蛛池服务作为
比亚迪宋胎压如何复位
比亚迪混动宋的续航能力因车型配置和使用场景不同而有所差异。
相关文章
推荐文章
发表评论
0评