vim 查询命令用法
在vim中,有多种查询命令可以用来查找文本,其中比较常用的有以下几种:
1. "/pattern":这个命令可以用来在当前光标所在行中查找匹配的文本,其中"pattern"表示要查找的文本。
可以使用正则表达式来进行精确匹配。
例如,"/hello"可以查找当前光标所在行中包含字符串"hello"的文本。
2. "?pattern":这个命令与上面的命令类似,不同之处在于它是一个反向查找命令,可以在当前光标所在行之前查找匹配的文本。
例如,"?hello"可以查找当前光标所在行之前包含字符串"hello"的文本。
3. "/\p{L}":这个命令可以用来查找任何一个字符集,其中"\p{L}"表示任意一个字母字符。
例如,"/\p{L}"可以查找当前光标所在行中的任何一个字母。
4. "/\w":这个命令可以用来查找任何一个单词字符,其中"\w"表示任何一个单词字符,即字母、数字和下划线。
例如,"/\w"可以查找当前光标所在行中的任何一个单词字符。
5. "/\d":这个命令可以用来查找任何一个数字字符,其中"\d"表示任何一个数字字符。
例如,"/\d"可以查找当前光标所在行中的任何一个数字字符。
除了上述命令之外,还有一些其他的查询命令可以用来查找文本,例如"/\<pattern>"、"/=\<pattern>"、"/\zs\<pattern>"等。
具体使用方法可以参考vim的官方文档或者相关的教程。
4.vim、head、tail命令
4.vim、head、tail命令⼀、vim编辑器安装Centos通常都已经默认安装好了 vi 或 Vim ⽂本编辑器,如果没有安装执⾏如下命令:yum install vim -y⼆、vim编辑器的四种模式命令模式使⽤VIM编辑器时,==默认处于命令模式。
==在该模式下可以移动光标位置,可以通过==快捷键==对⽂件==内容==进⾏复制、粘贴、删除等操作。
☆编辑模式或输⼊模式在命令模式下输⼊⼩写字母a或⼩写字母i即可进⼊编辑模式,在该模式下可以对⽂件的内容进⾏编辑☆末⾏模式在命令模式下输⼊冒号:即可进⼊末⾏模式,可以在==末⾏输⼊命令==来对⽂件进⾏查找、替换、保存、退出等操作☆可视化模式(了解)可以做⼀些列选操作(通过⽅向键选择某些列的内容)三、VIM四种模式的关系四、VIM编辑器的使⽤1、使⽤vim打开⽂件基本语法:# vim ⽂件名称①如果⽂件已存在,则直接打开②如果⽂件不存在,则vim编辑器会⾃动在内存中创建⼀个新⽂件案例:使⽤vim命令打开readme.txt⽂件# vim readme.txt2、vim编辑器保存⽂件在任何模式下,连续按两次Esc键,即可返回到命令模式。
然后按冒号:,进⼊到末⾏模式,输⼊wq,代表保存并退出。
3、vim编辑器强制退出(不保存)在任何模式下,连续按两次Esc键,即可返回到命令模式。
然后按冒号:,进⼊到末⾏模式,输⼊q!,代表强制退出但是不保存⽂件。
4、命令模式下的相关操作(重点)☆如何进⼊命令模式答:在Linux操作系统中,当我们使⽤vim命令直接打开某个⽂件时,默认进⼊的就是命令模式。
如果我们处于其他模式(编辑模式、可视化模式以及末⾏模式)可以连续按两次Esc键也可以返回命令模式☆命令模式下我们能做什么①移动光标②复制粘贴③剪切粘贴删除④撤销与恢复☆移动光标到⾸⾏或末⾏(重点)移动光标到⾸⾏ => gg移动光标到末⾏ => G☆翻屏向上翻屏,按键:ctrl + b (before)或 PgUp向下翻屏,按键:ctrl + f (after)或 PgDn向上翻半屏,按键:ctrl + u (up)向下翻半屏,按键:ctrl + d (down)☆快速定位光标到指定⾏(重点)⾏号 + G,如10G代表快速移动光标到第10⾏。
vim编辑器常用命令
vim编辑器常⽤命令vi有3个模式:插⼊模式、命令模式、低⾏模式。
插⼊模式:在此模式下可以输⼊字符,按ESC将回到命令模式。
命令模式:可以移动光标、删除字符等。
低⾏模式:可以保存⽂件、退出vi、设置vi、查找等功能(低⾏模式也可以看作是命令模式⾥的)。
⼀、打开⽂件、保存、关闭⽂件(vi命令模式下使⽤)vi filename //打开filename⽂件:w //保存⽂件:w //保存⾄⽂件:q //退出编辑器,如果⽂件已修改请使⽤下⾯的命令:q! //退出编辑器,且不保存:wq //退出编辑器,且保存⽂件⼆、插⼊⽂本或⾏(vi命令模式下使⽤,执⾏下⾯命令后将进⼊插⼊模式,按ESC键可退出插⼊模式)a //在当前光标位置的右边添加⽂本i //在当前光标位置的左边添加⽂本A //在当前⾏的末尾位置添加⽂本I //在当前⾏的开始处添加⽂本(⾮空字符的⾏⾸)O //在当前⾏的上⾯新建⼀⾏o //在当前⾏的下⾯新建⼀⾏R //替换(覆盖)当前光标位置及后⾯的若⼲⽂本J //合并光标所在⾏及下⼀⾏为⼀⾏(依然在命令模式)三、移动光标(vi命令模式下使⽤)1、使⽤上下左右⽅向键2、命令模式下:h 向左、j 向下、k 向上、l 向右。
空格键向右、Backspace 向左、Enter 移动到下⼀⾏⾸、- 移动到上⼀⾏⾸。
四、删除、恢复字符或⾏(vi命令模式下使⽤)x //删除当前字符nx //删除从光标开始的n个字符dd //删除当前⾏ndd //向下删除当前⾏在内的n⾏u //撤销上⼀步操作U //撤销对当前⾏的所有操作五、搜索(vi命令模式下使⽤)/vpser //向光标下搜索vpser字符串vpser //向光标上搜索vpser字符串n //向下搜索前⼀个搜素动作N //向上搜索前⼀个搜索动作六、跳⾄指定⾏(vi命令模式下使⽤)n+ //向下跳n⾏n- //向上跳n⾏nG //跳到⾏号为n的⾏G //跳⾄⽂件的底部七、设置⾏号(vi命令模式下使⽤):set nu //显⽰⾏号:set nonu //取消显⽰⾏号⼋、复制、粘贴(vi命令模式下使⽤)yy //将当前⾏复制到缓存区,也可以⽤ "ayy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
VIMGREP基本操作指南
发表于 2011 年 03 月 31 日
1、多文件查找
1.1、grep
直接在vim中输入:grep abc * 这是直接调用unix下的grep命令
1.2、vimgrep
基本用法就是
:vimgrep /匹配模式/[g][j] 要搜索的文件/范围
:vim[grep][!] /{pattern}/[g][j] {file} …
:cprevious (:cp) 上一个匹配位置
:cwindow (:cw) quickfix窗口,可以选择匹配的文件位置
:cl(:clist) 查看所有匹配的位置
2、多文件替换(arg)
a、加入要处理的文件 :args *.txt
b、输入对上述文件的动作 :argdo %s/hate/love/gc | update (这里将hate替换成love,update表示要写入到文件中,否则只作替换而不写入)
:vimgrep /an error/ *.c 就是在所有的.c文件中搜索an er* 意思是查找当前目录下的文件中的an error,不包括子目录
1.3、定位
输入上述的命令后,可以像输入:make命令,那样定位匹配到的文件位置
:cnext (:cn) 下一个匹配位置
g 和 j 是两个可选的标志位,g表示是否把每一行的多个匹配结果都加入。j表示是否搜索完后定位到第一个匹配位置。
要搜索的文件 可以是具体的文件路径,也可以是带通配符的路径比如 *.as **/*.as ,**表示递归所有子目录。 要搜索的文件和或搜索范围都可 以写多个,用空格分开。
例子:
:vimgrep /\<flash\>/ **/*.as 搜索当前目录以及所有子目录内as文件中的 “flash”
vimgrep使用法
vimgrep 是Vim 编辑器内置的一个强大的搜索工具,它可以用来在文件中查找指定的文本内容。
以下是vimgrep 的使用方法:1. 基本用法:在Vim 命令行模式下,输入以下命令进行搜索:```:vimgrep [选项] 搜索模式文件```其中,搜索模式是你要查找的文本内容,文件是你要在其中搜索的文件。
例如,要在当前目录下的所有C 文件中搜索包含"int main()" 的代码段,可以输入以下命令:```:vimgrep "int main()" *.c```2. 常用选项:- `g`:搜索全局,即搜索所有匹配的文本,而不是只搜索第一个匹配项。
- `n`:在找到一个匹配项后,不跳转到下一个匹配项。
- `c`:高亮显示匹配的文本。
- `i`:忽略大小写进行搜索。
- `r`:忽略空格进行搜索。
- `v`:搜索字符串中的每个字符。
3. 示例:要在当前目录下的所有文件中搜索包含"vim" 的文本,可以输入以下命令:```:vimgrep "vim" *```要在当前目录下的所有C 文件中搜索包含"int main()" 的代码段,并高亮显示匹配的文本,可以输入以下命令:```:vimgrep "int main()" *.c```4. 快捷键:- `<C-g>`:执行全局搜索。
- `<C-n>`:下一匹配项。
- `<C-p>`:上一匹配项。
5. 显示搜索结果:搜索完成后,可以使用以下命令查看搜索结果:```:set number```这将显示包含匹配文本的文件名和行号。
6. 限制搜索结果:如果想要限制搜索结果,可以使用以下命令:```:vimgrep "int main()" *.c | less```这将在less 命令中显示搜索结果。
vim操作
∙如果该文件存在,文件被打开并显示内容∙如果该文件不存在,当编辑后第一次存盘时创建它∙如果目录不存在,将无法保存编辑内容2. vim的三种模式vim是一款模式编辑器,对vim的操作进行在vim的三种模式之上。
所谓三种模式分别是:1.命令(Normal)模式,默认模式,主要作用是移动光标,剪切/粘贴文本。
2.插入(Insert)或编辑模式,主要作用是修改文本。
3.扩展命令(extended command )模式,主要作用是保存,退出等。
所以想要娴熟操作vim,在三种模式之间的切换是必不可少的。
vim的模式切换是以命令模式为基础的,也就是打开文件时的第一个界面,vim打开文件默认是在命令模式界面。
所以无论你是要进入扩展模式还是插入模式,都需要在命令模式进行切换,扩展模式和插入模式之间是不能直接切换的。
vim三种主要模式之间的切换:3.命令模式1.命令模式进入插入模式2.命令模式光标间跳转2.1字符间跳转:2.2单词间跳转:2.3当前页跳转:2.4行首行尾跳转:2.5行间移动:2.6句间移动2.7 段落间移动:3.命令模式翻屏操作4.命令模式编辑操作4.1字符编辑:4.2替换命令(r, replace)4.3删除命令(d,delete)4.4复制命令(y, yank):4.5粘贴命令(p, paste):4.6改变命令(c, change)4.7撤销更改4.2扩展命令模式:地址定界在扩展命令模式下进行地址定界方法一:利用行数进行定界格式|:开始#,结束#4.3扩展命令模式:查找查找命令:4.4扩展命令模式:查找并替换扩展命令模式下,在命令提示符后面输入字母―s‖,然后按格式输入要查找和替换的内容,便可进行查找替换。
格式:s/要查找的内容/替换为的内容/修饰符格式项作用要查找的内容分割符后输入要查找的内容,可使用模式,也就是正则表达式。
替换为的内容不能使用模式,但可以使用\1, \2, …等后向引用符号;还可以使用―&‖引用前面查找时查找到的整个内容修饰符:i 忽略大小写g 全局替换;默认情况下,每一行只替换第一次出现gc 全局替换,每次替换前询问如果查找和替换的内容中包含路径,再使用"/"作为分割符就不方便了,这时可以使用@、#等特殊符号来做分割符。
Vim命令列表
Vim命令列表操纵文件Vim命令动作:e filename 打开一个新文件,可以用TAB键自动补全:w filename 保存更改。
如果不指定文件名,Vim会存为你正在编辑的文件。
如果要存为不同的文件,需要指定文件名:q 退出Vim。
如果有未保存的更改,Vim会拒绝退出。
:q! 强制退出!:wq 写文件并退出:x 几乎和:wq一样,如果你修改了文件,它会写文件并退出。
如果你没有修改文件,Vim会不写文件直接退出。
文件内的移动These Vim commands and keys work both in command mode and visual mode.Vim命令动作j or Up Arrow 向上移动一行k or Down Arrow 向下移动一行l or Right Arrow 向右移动一个字符h or Left Arrow 向左移动一个字符e 移动到一个词(word)尾E 移动到白空格(whitespace)分隔的词尾b 移动到一个词(word)的开头B 移动到白空格(whitespace)分隔的词头0 移动到行首^ 移动到一行的首个非白空格的字符$ 移动到行尾H 移动到屏幕的第一行M 移动到屏幕的中间一行L 移动到屏幕的最后一行:n 跳至屏幕的第n行插入和替换文本Vim命令动作i 在光标之前插入I 在该行行首插入a 在光标之后插入A 在该行行尾插入o 在下一行新建一行并插入O 在上一行新建一行并插入C Change the rest of the current line.r 覆盖一个字符。
在覆盖完成以后,回到命令模式。
R 进入插入模式,但是不再是插入文本,而是覆盖文本。
跟word 里insert键的作用类似ESC 退出插入/改写模式,回到命令模式。
删除文本Vim命令动作x 删除光标后的字符X 删除光标前的字符dd or :d 删除当前行进入可视模式(Visual mode)Vim命令动作v 开始定义高亮字符,用定位键(j or 向下键等)来选择要高亮的文本。
vim命令及快捷键
vim命令及快捷键[1. 关于Vim]vim是我最喜欢的编辑器,也是linux下第⼆强⼤的编辑器。
虽然emacs是公认的世界第⼀,我认为使⽤emacs并没有使⽤vi进⾏编辑来得⾼效。
如果是初学vi,运⾏⼀下vimtutor是个聪明的决定。
(如果你的系统环境不是中⽂,⽽你想使⽤中⽂的vimtutor,就运⾏vimtutor zh)[1.1 Vim的⼏种模式]正常模式:可以使⽤快捷键命令,或按:输⼊命令⾏。
插⼊模式:可以输⼊⽂本,在正常模式下,按i、a、o等都可以进⼊插⼊模式。
可视模式:正常模式下按v可以进⼊可视模式,在可视模式下,移动光标可以选择⽂本。
按V进⼊可视⾏模式,总是整⾏整⾏的选中。
ctrl+v进⼊可视块模式。
替换模式:正常模式下,按R进⼊。
[2. 启动Vim]vim -c cmd file: 在打开⽂件前,先执⾏指定的命令;vim -r file: 恢复上次异常退出的⽂件;vim -R file: 以只读的⽅式打开⽂件,但可以强制保存;vim -M file: 以只读的⽅式打开⽂件,不可以强制保存;vim -y num file: 将编辑窗⼝的⼤⼩设为num⾏;vim + file: 从⽂件的末尾开始;vim +num file: 从第num⾏开始;vim +/string file: 打开file,并将光标停留在第⼀个找到的string上。
vim --remote file: ⽤已有的vim进程打开指定的⽂件。
如果你不想启⽤多个vim会话,这个很有⽤。
但要注意,如果你⽤vim,会寻找名叫VIM的服务器;如果你已经有⼀个gvim在运⾏了,你可以⽤gvim --remote file在已有的gvim中打开⽂件。
[3. ⽂档操作]:e file --关闭当前编辑的⽂件,并开启新的⽂件。
如果对当前⽂件的修改未保存,vi会警告。
:e! file --放弃对当前⽂件的修改,编辑新的⽂件。
:e+file -- 开始新的⽂件,并从⽂件尾开始编辑。
Linux基础命令vim(底行模式)
Linux基础命令vim(底⾏模式)#只能从命令模式进⼊底⾏模式
#保存退出
:q #退出
:q! #强制退出
:w #保存
:wq #保存退出
:wq! #强制保存退出
:x #保存退出
#光标移动移动的⾏删除
:n #n 数字跳转到指定的⾏
:1d #删除第⼀⾏
:1,10d #删除多⾏
#替换跟sed⼀样
:%s#old#new#g #全局替换
:1s#admin#root#g #替换指定的⾏
:1,5s#bin#oldboy#g #替换多⾏
# ⽂件另存为
:w new1.txt #将⽂件的内容另存为⼀个新⽂件
:1,10w new2.txt #将⽂件的第⼀⾏到第⼗⾏内容另存为⼀个新⽂件
#导⼊其他⽂件内容进⼊这个⽂件
:$r /etc/hosts #导⼊/etc/hosts⽂件中的内容到此⽂件的结尾:0r /etc/hosts #导⼊/etc/hosts⽂件中的内容到此⽂件的⾏⾸
#搜索
/root #搜索root的字符串
n #向下查找
N #向上查找
/root\c #搜索的时候,忽略⼤⼩写
:noh #取消⾼亮。
vim用法总结
ν三种状态Command:任何输入都会作为编辑命令,而不会出现在屏幕上,任何输入都引起立即反映Insert:任何输入的数据都置于编辑寄存器,按ESC,可跳回command方式Escape:以“:”或者“/”为前导的指令,出现在屏幕的最下一行,任何输入都被当成特别指令。
ν离开vi:q!离开vi,并放弃刚在缓冲区内编辑的内容。
:wq 将缓冲区内的资料写入磁盘中,并离开vi。
:x同wq。
(注意—— :X 是文件加密,一定要与:x存盘退出相区别)ν进入输入模式a (append) 由游标之后加入资料。
A由该行之末加入资料。
i (insert) 由游标之前加入资料。
I 由该行之首加入资料。
o (open) 新增一行於该行之下供输入资料之用。
O新增一行於该行之上供输入资料之用。
ν删除与修改x删除游标所在该字元。
X删除游标所在之前一字元。
r用接於此指令之后的字元取代(replace)游标所在字元。
如:ra将游标所在字元以a 取代之。
R进入取代状态,直到《ESC》为止。
s 删除游标所在之字元,并进入输入模式直到《ESC》。
S删除游标所在之该行资料,并进入输入模式直到《ESC》。
ν光标的移动m<a-z> 设置书签<a-z>…<a-z> 移至书签<a-z>处0移至该行之首$移至该行之末。
e 移动到下个字的最後一个字母w移动到下个字的第一个字母。
b移动到上个字的第一个字母。
^ 移至该行的第一个字元处。
H移至视窗的第一行。
M 移至视窗的中间那行。
L 移至视窗的最后一行。
G移至该文件的最后一行。
+ 移至下一列的第一个字元处。
-移至上一列的第一个字元处。
:n 移至该文件的第n 列。
n+移至游标所在位置之后的第n 列。
n-移至游标所在位置之前的第n 列。
<Ctrl><g> 显示该行之行号、文件名称、文件中最末行之行号、游标所在行号占总行号之百分比。
(Vim)光标移动基本用法小解:(这只要组合上边的功能就可以明白了,不用再一一讲解了吧!)ge b w e← ← ---→ --→This is-a line, with special/separated/words (and some more).←- ←-- -----------------→ ---→GE B W Eν视窗的移动<Ctrl><f> 视窗往下卷一页。
VIM命令大全
set nu
#行号
set ai
#设置自动缩进
syntax on #高亮
syntax off #关闭语法功能
Ctrl+o:临时变成命令模式(一次而已)
ctrl +n 自动补全 ctrl + p 也一样
启动 vim
在命令行窗口中输入以下命令即可 vim 直接启动 vim vim filename 打开 vim 并创建名为 filename 的文件
Vim 中自动补全括号,引号设置
vim ~/.vimrc 进入配置文件 在空白文件中加入下面语句保存,退出即可 inoremap ( ()<Esc>i inoremap [ []<Esc>i inoremap { {<CR>}<Esc>O autocmd Syntax html,vim inoremap < <lt>><Esc>i| inoremap > <c-r>=ClosePair('>')<CR> inoremap ) <c-r>=ClosePair(')')<CR> inoremap ] <c-r>=ClosePair(']')<CR> inoremap } <c-r>=CloseBracket()<CR> inoremap " <c-r>=QuoteDelim('"')<CR>
s/old/new/ 用 old 替换 new,替换当前行的第一个匹配
s/old/new/g 用 old 替换 new,替换当前行的所有匹配
