app教程网 综合百科 linux vi 常用命令(linux vi命令大全)

linux vi 常用命令(linux vi命令大全)

命令格式

:ranges /pat1/pat2/g其中:这是Vi的命令执行界面。

Range是命令执行范围的规范:百分号(%)表示所有行点(。)表示当前行,美元($)表示最后一行,例如10,20表示第10到20行,$表示当前行到最后一行。

. 2,$-5表示当前行的最后两行直到全文的倒数第二行,S表示后面是替换命令。Pat1这是查找pat2的正则表达式这是要将匹配字符串转换成的模式的正则表达式G的可选标志。

使用此标志,将对行中的每个匹配字符串执行替换,否则,仅替换行中的第一个匹配字符串。/string #往下看:Stirng #向上看

1 vi编辑命令

重复命令编号n命令重复命令n次。如果删除了15行,请在命令状态中输入15dd。重复前面的命令。

vi command -c子命令在编辑指定文件之前使用的一些选项和含义,

执行指定的命令子命令。-r filename恢复指定的文件文件名。-R将编辑器中的指定文件设为只读,以便不保存对文件的任何修改。

-y #将编辑窗口的大小设置为# lines。

在同一行上移动的子命令:h将光标左移一格l将光标右移一格j将光标下移一格k将光标上移一格w将光标移到下一个小字符的前面w将光标移到下一个小字符的前面b将光标移到前一个小字符的前面b将光标移到前一个大字符e的前面将光标移到下一个小字符e的后面将光标移到前一个大字符fc的后面将光标移到同一行中的下一个。 C字符Fc将光标移动到同一行上一个C字符tc,将光标移动到同一行下一个C字符的上一个单元格Tc,将光标移动到同一行上一个C字符的最后一个单元格,将光标移动到数字|列。

命令模式下行间移动的子命令:或者回车将光标移动到下一行的第一个非空白字符——将光标移动到上一行的第一个非空白字符0,将光标移动到当前行的第一个字符$将光标移动到当前行的最后一个字符H,将光标移动到屏幕的顶行L,将光标移动到屏幕的底行M,将光标移动到屏幕的中间:$ number,将光标移动到最后一行。

屏幕滚动命令Ctrl u转到文件前半部分,Ctrl d转到文件末尾,Ctrl f转到文件末尾,Ctrl+B转到文件前半部分,nz将第n行滚动到屏幕顶部,如果没有指定n,则将当前行滚动到屏幕顶部。

在光标前插入文本I,在当前行的开头插入I,在光标后插入A,在当前行的末尾插入A,O,在当前行的下面打开新的一行,O,在当前行的上面打开新的一行,R,替换当前字符,R,替换当前字符及其后续字符,直到你按ESC键S从当前光标位置开始。

用输入文本替换指定数量的字符s以删除指定数量的行,用输入文本替换ncw或nCW以修改N个单词nCC以修改指定数量的行。

删除X删除光标所指的一个字母X删除光标左侧的一个字母dd删除光标所在位置的一行文字,同时将该行文字放入缓存d0删除到行首d$删除到行尾D删除光标右侧的所有文字。

包括光标位置的字母d$删除光标右侧所有单词包括光标位置的字母dw删除光标右侧一个单词ndw删除n个单词d1G删除光标所在行以上所有行dG删除光标以下所有行。

复制yy将这行文字复制到缓存中。将$ number行复制到缓存中

粘贴p将缓存中的行粘贴到光标下方的行,p将缓存中的行粘贴到光标上方的行。

Replace: s/pattern1/pattern2/g将光标当前行中的pattern1替换为pattern 2:% s/pattern1/pattern 2/g将所有行中的pattern1替换为pattern 2:g/part tern 1/s//part tern 2将所有行的pattern 1替换为pattern 2: num1,num2s/pattern1/pattern2/g将num1到num2中的partten1替换为partten2,替换后的文本用。

File: r filename将文件filename的内容粘贴到光标下方:w保存当前编辑的文件名:w filename当文件名不存在时,

将修改后的文件保存为文件名,当文件名存在时报告错误。W filename如果文件filename存在,将修改后的文件保存为file filename:q并退出vi。

如果文件被修改,系统不会让用户使用Q命令退出Q!不保存退出x保存退出wq保存退出。

在多个文件之间切换:n开始编辑vi活动文件列表中的下一个文件:n文件名指定要编辑的新文件列表。

放弃之前的修改:e filename用filename激活vi并从文件末尾开始编辑:e number filename用filename激活vi并从第#行开始编辑:e#开始编辑另一个文件。

find//pattern向后查找指定的模式,如果遇到文件的结尾就从头开始。Pattern向前查找指定的模式,如果遇到文件头,就从末尾开始。在最后指定的方向上,

再次执行上次定义的查找。n在与上次指定的方向相反的方向上再次执行上次定义的查找。/pattern/number将光标停在包含模式的行之后的行号处。

/pattern/-number将光标停在包含模式的行之前的行号上。%到匹配的“()”或“{0}”。

选项设置所有列表所有选项设置$ term设置终端类型忽略搜索列表中的大小写显示制表位(Ctrl I)和行尾标记($)数字显示行号报告显示由面向行的命令修改的数字简洁显示简短的警告消息warn。如果您在转到另一个文件时没有保存当前文件,它将显示无写入信息。搜索模式中允许nomagic。

具体用法包括:s/str1/str2/用字符串str2替换行中第一个字符串str1:s/str 1/str 2/g替换所有字符串str 1:在包含字符串str2和$ s/str 1/str 2/g的行中,用字符串str 2替换从当前行到文本末尾的所有字符串str1:1。$ s/str1/str2/g用字符串str2替换所有出现的字符串str 1: g/str 1/s//str2/g。功能同上。从上面的替换命令可以看出,g被放在了命令的末尾。

b、使用find结合grep替换shell # find中的文件。/-exec grepstr 1 ' { } ' \;-exec sed-I . bak s/str 1/str 2/g ' { } ' \;上面的命令可以在当前目录(包括子目录)中找到包含str1的文件,

本文来自网络,不代表本站立场,转载请注明出处:https: