A. vim 替换 区分大小写
题主你好,
vim下大小写默认就是敏感的, 也就是说默认情况下历迟无论是 查找 还是 替换 都是区分大小写的.
假设我的vim中有数据:
另一种是先全局设置忽略大小写, 然后再用替换命令:
:set ignorecase
:%s/hello/hi/ //注意这个替换后面没有小尾巴i
截图就不上了, 结果和上面最后一幅图是一样的.
-----
扩展阅读:
建议题主改一下提问方法, 你这样提问太简单了, 你写的这么简单有的问题可能答题者直接就能明白你想表达的意思, 但有的问题可能会让答题者产生歧义, 不知道你想要的结果到底是什么. 我站在一个答题者的角度来说一下我喜欢什么样的问题啊. 直接把你的数据给出来, 或你的具体情况描述出来, 最好是配图,不配图的话描述清楚就好, 然后说一下你想要的结果是什么(也就是说针对某个具体问题你想要的结果). 你提完问题之后可以换位思考一下, 假设自己是一个答题者, 觉得看到这道题会不会一下就明白什么意思, 如果换位思考后, 你觉得这个问题提的很清晰, 目的很明确那这就是个好问题, 被别人回答的概率也会大很多. 你可以想一下, 如果你作为一个答题者看到别人的提问, 一眼都看不明白啥意思, 或者说看起来有歧义, 相信多数人都会直接略过这道题继续向下看了, 这样的提问被回答的概率就小很多.
最近看到了好多的提问, 像"linux查看端口命令", "vim详解"等等, 我觉得这种问题真的不好肢此李答, 像"linux查看端口命令"来说吧, 最常用的应该是netstat了, 但linux下基本上很少有输入一个命令就能得到你想要的结果的, 每个命令都有一堆参数, 需要看你的实际情况来选用合适的参数, 也就是说只给你一个命令基本上是没有意义的. 再说"vim详解"这种问题, 不管是vim编辑器详解也好, 某个命令的详解也好, 站在我的角度来看, 除非是我看到问题的那会儿特别希望把这个命令系统的掌握, 而且当扒搜时头脑特别的清醒, 否则我是不会理这样的问题的. 而且就算有人回答你了也可能是从网上随便过来的. 为啥呢? 因为基本上linux中的每个命令都有很多参数, 把每个参数和具体的注意点都给你解释清楚那要大把的时间和精力, 一般人不会这么干.
所以, 最好的问题方法就是具体问题具体分析, 把你当前的情况说明白, 再把想要的结果说清楚足矣.
写在最后: 题主不要觉得我写的啰嗦, 只是最近看到这样的问题太多了. 如果题主觉得这段话有帮助就看看, 觉得没帮助忽略就好, 感谢!
-----
希望可以帮到题主, 欢迎追问.
B. linux在vim下怎么批量替换或者注释
方法一 块选择模式
插入注释:
用v进入virtual模式
在10 - 20行添加 # 注释
:10,20s/^/#/g
在10 - 20行删除 # 注释
:10,20s/^/#/g
注意例子中正则的分割符使用的是相反的符号,如果匹配// 那么使用 #作分隔符这样不需要对/作转义处理,节省输入次数。
C. 如何在 Vim/Vi 中快速查找和替换文本内容
Vim 是 Vi 多模式命令行 编辑器 的加强版,通常默认的Unix或Linux系统中都默认自带Vi命令编辑器。当然,为了更好的体验,如果系统默认没有安装Vim,建议安装Vim。
通过本文的讲解,你将学会如何在Vim/Vi中快速的使用命令进行查找替换文本。
首先,启动Vim/Vi编辑器,处于正常模式下。如果你不确定是否处于正常模式下,这时你可以按“ESC”,编辑器就会进入正常模式。
替换命令的格式一般如下:
该命令表示在[range]的每一行中搜索{pattern},并将其替换为{string}。 [count]是一个乘以命令的正整数。
如果没有给出[range]和[count],则仅替换当前行中找到的模式。
例如,要搜索当前行中字符串“foo”的首次出现,并将其替换为“bar”,可以使用:
要替换当前行中搜索到的所有内容,可以添加 g 标志:
如果想搜索和替换整个文件中的匹配内容,使用百分比字符 % 作为范围。此字符指示从文件第一行到最后一行的范围:
如果省略 {string} 部分即上面的bar,则将其视为空字符串,相当于将匹配到的内容替换为空,既删除匹配到的内容。
以下命令删除当前行中字符串“foo”的所有实例:
当然,除了作为分隔符外,还可以使用任何其他非字母数字单字节字符,而不是斜杠字符( / )。例如:
要确认每个替换,可以使用 c 标志。
替换前会询问:
按 y 替换匹配项,或按l替换匹配项并退出。 按 n 跳过当前匹配,按 q 或 Esc 退出替换。 a 选项替换匹配项和所有剩余匹配项。
若要向下滚动屏幕,请使用 CTRL + Y ,向上滚动,请使用 CTRL + E 。
还可以使用 正则表达式 作为搜索模式,例如:
^ 符号表示与行首匹配, .* 表示匹配任意数量的字符。
默认情况下,搜索操作区分大小写;搜索“FOO”将与“FOo”不匹配。
要忽略搜索模式的案例,请使用 i 标志:
另一种强制忽略案例的方法是在搜索模式后添加 \c 。例如, /Linux\c 执行忽略大小写搜索。
当未指定范围时,替换命令仅在当前行中操作。
范围可以是一行,也可以是两行之间的范围。 行说明符之间可用英文 , 分隔 ; 字符分割。 可以使用绝对行号或特殊符号指定范围。
例如,要在从第3行到第10行的所有行中将所有出现的“ foo”替换为“ bar”,可以使用:
该范围是包含范围的,这意味着该范围包括第一行和最后一行。
. 字符表示当前行, $ 美元符号表示最后一行。 要在从当前行到最后一行的所有行中替换“ foo”:
也可以使用“ +”或“-”符号来设置行说明符,其后是从前一个行号添加或减去的数字。 如果省略符号后的数字,则默认为1。
例如,从当前行和接下来的四行开始,用“ bar”替换每个“ foo”,键入:
替代命令将模式作为字符串而不是整个单词查找。 例如,如果您正在搜索“ gnu”,则搜索查找匹配“ gnu”嵌入在较大单词(例如“cygnus” 或 “magnum”)中的情况。
要搜索整个单词,请键入\ <标记单词的开头,输入搜索模式,键入>标记单词的结尾:
例如,要搜索单词“ foo”,可以使用 \<foo\> :
Vim会跟踪您在当前会话中运行的所有命令。
要浏览历史记录以查找先前的替代命令,请输入 :s 并使用向上或向下箭头键查找先前的替代操作。 要运行该命令,只需按Enter。 您也可以在执行操作之前编辑命令。
注释行(在行前添加#)从5到20:
取消注释行从5到20,恢复以前的更改:
将“苹果”,“橙色”和“芒果”的所有实例替换为“水果”:
删除每行末尾的空格:
搜索和替换在Vim中是一个非常强大的功能,学会使用它能使您可以快速更改文本,提高自己的工作效率。
欢迎通过查看我个人介绍信息,私信跟我沟通!
D. centos里vi命令里怎么替换
替换当前行第一个OLD为NEW
:s/OLD/NEW
替换当前行所以OLD为NEW
:s/OLD/NEW
退换当前文件中的所有OLD为NEW
:%s/OLD/NEW/g
除了上述的几种替换模式,还可以指定两个行号,把他们之间所有的OLD替换称NEW,
语法为,第一个#号表示开始行,第二个#号表示截止行
:#,#s/OLD/NEW/g
替换第三行到第五行所有OLD为NEW
:3,5s/OLD/NEW/g
其中两个行号也可以只出现一个,省略的那个表示为光标所在的行,例如:
:,5s/OLD/NEW/g 把光标所在行到第5行所有OLD替换为NEW
:5,s/OLD/NEW/g 把第5行到光标所在行所有OLD替换为NEW
另外最后一行可以使用$表示,所以
:%s/OLD/NEW/g 等价于 :1,$s/OLD/NEW/g
E. vim中如何查找和替换字符串
一、 字符串的查找
1. vim 中用 / 和 ? 来查找字符串,两者的区别是:
/string 会高亮显示光标后匹配的第一个字符串,回车后光标移到该字符串的第一个字母;
string 会高亮显示光标前匹配的第一个字符串,回车后光标移到该字符串的第一个字母。
在回车之后,按n键同方向转到下一个匹配的字符串,按N键反方向转到上一个匹配的字符串。
2. 用命令 :set ic 和 :set noic 来分别设置查找时不区分和区分大小写。
如果查找特殊字符,如 ^、$、*、/ 和 .,需要在前面加 \ 来转义。
二、字符串的替换
1. vim 中可用 :s 命令来替换字符串,具体如下:
:s/str1/str2/ 替换当前行第一个 str1 为 str2
:s/str1/str2/g 替换当前行中所有 str1 为 str2
:m,ns/str1/str2/ 替换第 n 行开始到最后一行中每一行的第一个 str1 为 str2
:m,ns/str1/str2/g 替换第 n 行开始到最后一行中所有的 str1 为 str2
(注:m和n 为数字,若m为 .,表示为当前行开始;若n为$,则表示到最后一行结束)
如果使用 # 作为分隔符,则中间出现的 / 不会作为分隔符,比如:
:s#str1/#str2/# 替换当前行第一个 str1/ 为 str2/
:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/
2. 其他:%s/str1/str2/(等同于 :g/str1/s//str2/) 替换每一行的第一个 str1 为 str2
:%s/str1/str2/g(等同于 :g/str1/s//str2/g 和 :1,$ s/str1/str2/g ) 替换文中所有 str1 为 str2
从替换命令可以看到,g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索
F. vim替换一个单词怎么做
用命令去替改孝换:
:%s/oldword/newword/g
%是指当前文件的缺嫌所有行
s是搜索(search)
把oldword替换成newword
g是指每行所有匹配的都替换,如果没有加g,则只替换每行第一个匹配的字符伏歼手串。
不明白的地方欢迎追问!!!
G. vim模式与模式切换vim命令模式
vim有三种模式,本文介绍VIM模式与vim模式切换的方法。
vim命令 模式, 编辑模式 , 尾行模式 和文本编辑命令。
Vim编辑模式插入字符,行尾、行首插入,删除一个字符和删除整行命令,Vim复制和粘贴命令,vim替换输入以及撤销和反撤销命令,Vim保存和另存为文件,显示vim当前编辑文件名。
我们使用vim编辑器的常用文件操作主要是:插入、删除、复制、粘贴、替换、撤销、保存、另存为。
在介绍Vim中的上述基本文件操作命令前,需要先介绍下vim的操作模式。因为vim的各种对文件操作命令需要在不同操作模式下使用。
一、Vim三种操作模式
Vim编辑器一共有3种模式,分别为 命令模式 (默认)、编辑模式、尾行模式。这3种模式的转换关系如下图所示。
vim三种模式
1 命令模式(command mode)
命令模式是Vim的默认操作模式,当使用vim命令打开一个文件时,默认进入的就是命令模式。不管用户处于何种模式,只要按下Esc键就可使进入命令行模式
2 编辑模式(input mode)
只有在vim编辑模式下,才能将键盘键入的内容输入到当前打开的文件中
在命令模式下输入插入命令i(insert)、附加命令a (append)、打开命令o(open)、修改命令c(change)、取代命令r或替换命令s都可以进入文本编辑模式
3 尾行模式(last line mode)
尾行模式主要用于保存文件或退出Vim,同时也可以设置编辑环境和一些编译工作,如列出行号(set nu)、寻找字符串(/target)等
在命令模式下,用户按冒号键(:)即可进入末行模式下,此时Vi会在显示窗口的最后一行显示一个”:“作为末行模式的提示符,等待用户输入命令
二、Vim文本编辑命令
约定:在没有特殊说明的情况下,以下Vim编辑命令部分提到的命令均是在命令模式下使用。
1 vim插入命令
在命令模式下按以下按键可进入编辑模式,执行插入操作,具体包括:
从光标当前所在行的【行首】处开始插入:I
从光标当前所在行的【行尾】处开始插入:A
从光标当前所在行的【下一行】处开始插入:o
从光标当前所在行的【上一行】处开始插入:O
从光标当前所在位置的【前】一个字符处开始插入:i
从光标当前所在位置的【后】一个字符处开始插入:a
tips:i (insert)是在当前位置插入,a (append)表示是在后面追加
2 vim删除命令
在命令模式下按以下按键可执行删除操作,具体包括:
删除从光标所在位置到当前【单词结束】部分的内容并进入插入模式:cw、cW
删除从光标所在位置到当前【单词开始】部分的内容并进入插入模式:cb、cB
删除从光标所在位置到当前【单词结束】部分的内容但不进入插入模式:dw、dW
删除从光标所在位置到当前【单词开始】部分的内容但不进入插入模式:db、dB
删除光标位置的【一个】字符:x
删除当前光标所在【行】:dd
删除从光标所在位置到当前【行首】的内容:d0
删除从光标所在位置到当前【行尾】的内容:d$
tips:
(1) Vim的命令中,0 表示行首,$ 表示行尾,更多内容可参考卡拉图Vim操作范围、文件范围介绍
(2) w(word)、b(back)命令用于光标移动,具体可参考卡拉图:vim光标移动命令汇总
(3) cW、cB、dW、dB 命令操作的单词是以空白字符(空格、Tab)分隔的字符串
删除当前【段落】从光标位置开始到【段末】的内容:d}
删除当前【段落】从光标位置开始到【段首】的内容:d{
删除当前【句子】从光标位置开始到【句末】的内容:d)
删除当前【句子】从光标位置开始到【句首】的内容:d(
tips:Vim命令中用 ( 和 ) 表示句子,{ 和 } 表示段落
3 vim复制命令、vim粘贴命令
在命令模式下按以下按键可执行复制、粘贴操作,具体包括:
将最后一次删除或复制操作的文本内容粘贴到光标所在字符之【后】:p
将最后一个删除或复制操作的文本内容粘贴到光标当前字符之【前】:P
复制从光标所在位置到当前【单词结束】部分的内容:yw
复制光标所在【行】的所有字符 (包含换行符):yy
tips:yyp 操作可以实现复制一整行内容到当前所在行的下一行
4 vim替换命令
在命令模式下按以下按键后,再输入字符可替换原始文件中的内容
一直替换光标所在字符,直到按下[ESC]键为止:R
删除、复制操作的操作单位可以加操作次数,操作对象的范围为:操作次数 * 操作单位
替换光标当前所在字符一次:r
例如:d3w命令表示删除三个单词,10dd命令表示从光标所在行开始删除后面的十行,更多内容可以参考Vim中的操作符和动作命令。
5 vim撤销命令、vim回退反撤销命令
在命令模式下可执行撤销操作
撤销最近的一次操作:u
恢复最近的一次操作(取消撤销):<Ctrl> + r
tips:多次执行u 命令可以连续撤销最近的操作
6 vim保存命令
在尾行模式下执行以下命令可保存当前编辑的文件内容
保存当前编辑的文件::w
保存当前编辑的文件并退出vim::wq
强制将当前编辑的文件保存::w!
tips:上述操作是在尾行模式下执行的,所以命令都是以:开头
7 vim另存为命令
在尾行模式下执行命令 :w a.txt 可将vim当前打开的文件另存为新文件a.txt.
tips:w(write) 表示将文件存档,: 表示尾行模式命令。
8 vim显示当前文件名的方法
命令 <Ctrl> + g 可显示当前编辑文件名及行数,可以在不退出 Vim 的情况下了解当前编辑文件的信息,更多内容,可参考30个vim常用命令和使用 vim技巧 。
Vim入门级文件编辑命令汇总就先介绍到这里了,更多Vim文件编辑命令和Vim相关操作可阅读本站其它文章内容。
H. 在linux下的VIM中替换命令的格式是什么各部分的含义是什么
:s/p1/p2/g
用p2替换p1
:n1,n2s/p1/p2/g
将n1到n2行中的p1用p2替换
I. 在 Vim 中怎样替换每行第二个出现的指定字符
如果排列对齐的话,用ctrl+v选中那个逗号,然后按r再按引号,就会全部替换成引号了;
如果不整齐,可以握羡用录制的方法:
qa02f,r"jq
细说下这串的意思:
"qa",是指进入录制模式,并以a命名这段录制;
"02f,",是指光标跳到行首,寻找第二个逗号;
"r"",r是替换,所以是把逗号替换成引号;
"jq",光标移到下一行,并退出录制模式,这样一段录制就好了;
然后,就可以把光掘卖标移到要修改的行,然后按@a重放一遍判皮逗录制就行了。
J. vi替换字符命令
在vi命令模式下输入:
:50,100s/man/MAN/g
回车即可。
就是这样的。
如果是编辑模式,请先按一次ESC回到命令模式后再输入,确认你的输入在底部显示,即是正确的。