linuxvi只读命令 linux只读文件怎么修改权限( 六 )


:?str? 反向搜索,将光标移到上一个包含字符串 str 的行
:/str/w file 正向搜索,并将第一个包含字符串 str 的行写入 file 文件
:/str1/,/str2/w file 正向搜索,并将包含字符串 str1 的行至包含字符串 str2 的行写
入 file 文件
4. 正文替换
利用 :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 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作 。
5. 删除正文
在命令模式下,同样可以删除正文中的内容 。例如:
:d 删除光标所在行
:3d 删除 3 行
:.,$d 删除当前行至正文的末尾
:/str1/,/str2/d 删除从字符串 str1 到 str2 的所有行
6. 恢复文件
vi 在编辑某个文件时 , 会另外生成一个临时文件 , 这个文件的名称通常以 . 开头,并以 .swp 结尾 。vi 在
正常退出时,该文件被删除,若意外退出,而没有保存文件的最新修改内容,则可以使用恢复命令:
:recover 恢复文件
也可以在启动 vi 时利用 -r 选项 。
选项设置
为控制不同的编辑功能,vi 提供了很多内部选项 。利用 :set 命令可以设置选项 。基本语法为:
:set option 设置选项 option
常见的功能选项包括:
autoindent 设置该选项 , 则正文自动缩进
ignorecase 设置该选项,则忽略规则表达式中大小写字母的区别
number 设置该选项,则显示正文行号
ruler 设置该选项 , 则在屏幕底部显示光标所在行、列的位置
tabstop 设置按 Tab 键跳过的空格数 。例如 :set tabstop=n,n 默认值为 8
mk 将选项保存在当前目录的 .exrc 文件中
shell 切换
在编辑正文时,利用 vi 命令模式下提供的 shell 切换命令 , 无须退出 vi 即可执行 Linux 命令,十分
方便 。语法格式为:
:! command 执行完 shell 命令 command 后回到 vi
另外 , 在编辑模式下,键入 K,可命令 vi 查找光标所在单词的手册页,相当于运行 man命令 。
vim 和 gvim 的高级特色
Vim 代表 Vi IMproved , 如同其名称所暗示的那样,Vim 作为标准 UNIX 系统 vi 编辑器的提高版而存在 。Vim 除提供和 vi 编辑器一样强大的功能外,还提供有多级恢复、命令行历史以及命令及文件名补全等 功能 。
gvim 是 vi 的 X Window 版本,该版本支持鼠标选中,一些高级光标移动功能,并且带有菜单和工具按钮 。
Linux vi 操作命令进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件 , 并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个和pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃 , 恢复filename
vi filename....filename :打开多个文件,依次进行编辑
移动光标类命令
h :光标左移一个字符
l :光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl+p:光标上移一行

推荐阅读