vim查找(vim查找所有关键词的行)
本篇文章给大家谈谈vim查找,以及vim查找所有关键词的行对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、如何在 Vim/Vi 中快速查找和替换文本内容
- 2、vim怎么正则查询一个词出现的次数
- 3、vi / vim / tail / cat / more
- 4、如何指定vim 的查找是从上往下还是从下往上?
- 5、Vim:查找功能
- 6、linux下vim 查找命令
如何在 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中是一个非常强大的功能,学会使用它能使您可以快速更改文本,提高自己的工作效率。
欢迎通过查看我个人介绍肢游贺信息,私信跟我沟通!
[img]vim怎么正则查询一个词出现的次数
vim怎么正则查询一个词出现的次数
在Vim中,肢孝数可以使用正则表达式查找特定的单词出现的次数。
方法一:
使用:%s/单词//gc命令,它会查找文件中每个单词出现的次数,表示查找的单词,g表示全局查找,c表示统计查找的次数。
方法二:
使用:%s/单词//gn命令,它会查找文件中每个单词出现的次数,慎搏空格表示查找的单词,g表示全局查找,n表示统计历首查找的次数。
vi / vim / tail / cat / more
回显结果 fileformat=unix 为正确,若不是则输入set ff=unix
删除游标所在的一整行(常用)
dd:
删除光标所在的向下n行,例如20dd则是删除光标所在的向下
20dd
删除光标所在到第一行的所没宴辩有数据
d1G
删除光标所在到最后一行的所有数据
dG
删除光标所在处,到该行的最后一个字符
d$
那个是数字0,删除光标所在到该行的最前面的一个字符
d0
x向后删除一个字符(相当于[del]按键)
X向前删除一个字符(相当于[backspace]即退格键)
x
X
n为数字,连续向后删除n个字符
nx
从当前行到末行全部删除,输入:.,$d 然后回车
删除第5行到第50行
5,50d
删除第一列:
ctrl + v 选中一列,按 d 删除
Vim查找支持正则表达式,例如/vim 匹配"vim$"。
注意查找回车应当用\n,而替换为回车应当用\r(相当于CR)。
大小写敏感查找
在查找模式中加入\c表示大小写不敏感查找,\C表示大小写敏感查找。例如:
/foo\c
将会查找所有的"foo","FOO","Foo"等字符串。
大小写敏感配置
Vim 默认采用大小写敏感的查找,为了方便我们常常将其配置为大小写不敏感:
" 设置默认进行大小写不敏感查找
set ignorecase
" 如果有一个大写字母,则切换到大小写敏感查找
set smartcase
将上述设置粘贴到你的~/.vimrc,重新打开Vim即可生效。
查找当前单词
在normal模式下按下*即可查找光标所在单词(祥庆word), 要求每次出现的前后为空白字符或标点符号。例如当前为foo, 可以匹配foo bar中的foo,但不可匹配foobar中的foo。 这在查找函数名、变量名时非常有用。
按下g*即可查找光标所在单词的字符序列,每次出现前后字符无要求。 即foo bar和foobar中的foo均可被匹配到。
查找与替换
:s(substitute)命令用来查找和替换字符串。语法如下:
:{作用范围}s/{目标}/{替换}/{替换标志}
例如:%s/foo/bar/g会在全局范围(%)查找foo并替换为bar,所有出现都会被替换(g)。
查枯缺看所有swp文件:
vim -r
恢复文件:
vim -r filename.swp
删除交换文件,即可打开正常文件:
rm -f .swpFileName
禁止产生交换文件:
:set noswapfile
允许产生交换文件
:set swapfile
根据默认设置,交换文件会每隔4000毫秒(4秒)或者200个字符保存一次。可以使用以下命令,修改保存交换文件的频率:
:set updatetime=23000
:set updatecount=400
如何指定vim 的查找是从上往下还是从下往上?
1、首先vim + 文件名打开文件。
2、打开文件以后确定一下我们要查找的单词或者字符串。
3、直接输入/,这个时候在下方腔困就有显示/。
4、然后输入要找的字符串,在输入的过程中,画面会以高亮的形式开始显示。确定以后按一下enter。茄改
5、按一下n就可以向下继续寻找。
6、按一下N就是向上寻找。
7、另一种伍纳念方法就是先定位到字符串前面,按一下*就会找出下方相同的字符串。
Vim:查找功能
首先明则颤明确vim下两种常见洞隐的状态:
Vim的查找功能:在 命令状态 下,这样实现:/查找的字符
不断孙告按n查找下一个,N查找上一个。
linux下vim 查找命令
linux下vim查找命令:
/text--查找text,按n查找下一个,N查找上一个
?text--查找text(反向查找),按n查找下一个,N查找上一个
*/#--查找光标当前的单词,相当于/text
:setignorecase--查找忽略大小写
:setnoignorecase--查找不忽略大小写
:nohlsearch--关闭当前的高亮显示,当再次查找时恢复高亮
:setincsearch--逐步搜索模式,对当前键入的字符进行查找,不必等输入完成
:setwrapscan--重新搜索,当搜索到文件头或尾时,返回重新搜索
扩展资料:
1、文件窗口:
:openfile--在当前窗口打开新文件
:splitfile--在新窗口打开文件
:newfile--用新窗口打开文件,同:splitfile
:bn--切换到下一个文件
:bp--切换到上一个文件
:args--查看当前打开的文件列表(当前正在编辑的文件会用[]括起来)
:e
:e\qadriveest.txt--打开远程文件
:split--打开一个新窗口,光标停在顶层的窗口上
:new--打开一个新窗口,光标停在顶层的窗口上
:vsplit--横向打开窗口。
Ctrl+ww--移动到下一个窗口
Ctrl+wj--移动到下方的窗口
Ctrl+wk--移动到上方的窗口
2、其他命令:
Esc/Ctrl+[--键入命令
:!command--执行shell命令
:suspend/Ctrl+Z--挂起vim,回到shell,fg返回vim
:!perl-cscript.pl--检查perl脚本语法,不用退出vim
:!perlscript.pl--执行perl脚本,不用退出vim
:help--显示帮助文档
:helpi--显示i的帮助文档(:特殊键用,-t:启动参数用-)
3、编辑命令:
插入:
i--在当前位置插入
A--在当前行胡槐桥尾插入
I--在当前行首插入
o--在当前行后插入一行
O--在当前行前插入一行
拷贝粘贴剪切:
yy--拷贝当前行
2yy--拷贝当前行裤猛开始的2行
p--在当前光标后粘贴
P--在当前行前粘贴
:1,10co20--将1-10行插入到第20行之后。
:1,$co$--将整个文件复制一份并添加到文件尾部
v--进入选择模式,相当于在Windows下按住Shift选择
V--进入选择模式,整行选择
ddp--交换当前行和其下一行
2dd--剪切当前行之后的2行
:1,10d--将1-10行剪切
:1,10m20--将第1-10行移动到第20行之明侍后
替换:
ra--将当前光标所在字符替换为a
s/old/new/--用old替换new,替换当前行的第一个匹配
s/old/new/g--用old替换new,替换当前行的所有匹配
%s/old/new/--用old替换new,替换所有行的第一个匹配
%s/old/new/g--用old替换new,替换所有匹配
:10,20s/^/text/g--在第10行到第20行每行前面加上text(:3,5s/^/#/g--注释3-5行,:3,5s/^#//g
--解除3-5行的注释,:1,$s/^/#/g--注释整个文档,:%s/^/#/g--注释整个文档)
ddp--交换光标所在行和下一行
移动:
h--左移一个字符(5h--左移5个字符)
l--右移一个字符(5l--右移5个字符)
k--上移一个字符(5k--上移5个字符)
j--下移一个字符(5j--下移5个字符)
w--向后移动一个单词(5w--向后移动5个单词)
b--向前移动一个单词(5b--向前移动5个单词)
e--同w,光标停在单词尾部
ge--同e,光标停在单词尾部
^--移动到本行第一个非空白字符
0--移动到本行第0个字符
--同0
$--移动到行尾(3$--移动到下面3行的行尾)
gg--移动到文件头(10gg--移动到第10行首)
[[--同gg
G--移动到文件尾(10G--移动到第10行尾)
]]--同G
fx--移动到本行光标后第一个为x的字符(3fx--移动到本行光标后第3个为x的字符)
Fx--同fx,反向查找
:20--跳到20行行首
Ctrl+e--向下滚动一行
Ctrl+y--向上滚动一行
Ctrl+d--向下滚动半屏
Ctrl+u--向上滚动半屏
Ctrl+f--向下滚动一屏
Ctrl+b--向上滚动一屏
撤销:
u--撤销
U--撤销对整行的操作
Ctrl+r--撤销刚才的撤销
删除:
x--删除当前字符(3x--删除当前光标开始向后三个字符)
X--删除当前字符的前一个字符,同dh
dl--删除当前字符,同x
dh--删除前一个字符
dd--删除当前行
dj--删除上一行
dk--删除下一行
10d--删除当前行开始的10行。
D--删除当前字符至行尾,同d$
kdgg--删除当前行之前所有行(不包括当前行)
:1,10d--删除1-10行
:11,$d--删除11行及以后所有的行
:1,$d--删除所有行
J--删除两行之间的空行,合并两行
退出
:wq--保存并退出
ZZ--保存并退出
:q!--强制退出并忽略所有更改
:e!--放弃所有修改,并打开原来文件
:close--关闭窗口,最后一个窗口不能使用此命令,可以防止意外退出vim
:q--如果是最后一个被关闭的窗口,那么将退出vim
关于vim查找和vim查找所有关键词的行的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。