热搜词: 

如何使用vi编辑器(vi编辑器如何显示行号)

发布:小编

目标

  • 使用vi编辑器
  • 开始并结束一个vi编辑器会话
  • 定位光标
  • 插入并删除文本
  • 编辑文本
  • 使用规则表达式搜索文本

议程

  • vi编辑器
  • vi编辑器会话
  • 保存文件
  • 定位光标
  • 插入并删除文本
  • 规则表达式

14.1 vi概要

3.在Red Hat Linux上,一般采用的“可视编辑器/visual editor”是Vim(改良的vi)

14.2 打开文件

1.vi命令的语法:

#Vi 文件名

⑴ 如果文件已存在,则此文件被打开并且显示此文件的内容。

⑵ 如果文件不存在,则Vi在第一次存盘时自动将此文件建立在硬盘上。

Vi的编辑工作在内存的缓存中完成。在一个编辑会话开始后,vi从磁盘读取文件的内容至缓存中进行编辑工作。在编辑会话期间,vi在内存中保存所有修改后的拷贝。它不修改硬盘上的文件拷贝,直到你将缓存中的文件写到磁盘中为止。

3.打开文件时,可指定光标停放的位置:

⑴ #vi +53 filename

⑵ #vi +/foo(字符串)filename

打开文件filename时,⑴ 光标将放在第53行的开头 ;⑵ foo字符串第一次出现的地方。

4.用vi建立一个新的文件

运行vi,并指定你想要建立的文件名。

#vi 新建的的文件名

14.3 Vi模式

1.Vi的操作提供两种模式

⑴ 指令/浏览模式

·用于浏览、删除、剪贴、查找文本等。

·可以用各种指令进入插入模式。

⑵ 插入模式

·用于输入新文档。

·用<ESC>退出插入模式返回命令模式。

2.Vi的模式

Vi编辑器提供两种分开的模式:命令模式和插入模式。这经常被认为是vi的一个大的缺陷,但往往这也是vi的优势所在。理解其中的区别是掌握vi的关键。Vi开始启动时处于命令模式。在这种模式下,我们可以在文件中到处移动光标,修改文本的某个特定区域,剪切、复制和粘贴文本等。插入模式是指用户可以真正插入文本,换句话说,命令模式是用来在文件中移动光标进行浏览,而插入模式是用来在文件中键入文本。

3.从指令/浏览模式进入插入模式的各种方法:

⑴ i:光标在当前位置进入插入模式(常用)

⑵ I:光标跳到行首并进入插入模式

⑶ a:光标后退一格并进入插入模式(常用)

⑷ A:光标退到行尾并进入插入模式

⑸ o:在光标所在行下新起一行并进入插入模式(常用)

⑹ O:在光标所在行上新起一行并进入插入模式

⑺ s:删除光标所在字符并进入插入模式

⑻ S:删除光标所在行并进入插入模式

14.4 移动光标

1.在指令/浏览模式中可使用标准的光标移动命令

2.大多数系统支持光标移动和箭头键,甚至是在插入模式也支持

h 将光标向左移动一格(字符)

l 将光标向右移动一格(字符)

j 将光标向下移动一格(字符)

k 将光标向上移动一格(字符)

0(数字) 将光标移到该行的最前面,即行头

$ 将光标移到该行的最后面,即行尾

w 将光标移到下一个单词的第一个字符

b 将光标移到本单词的第一个字符,如果光标所在位置为本单词的第一个字符则将光标移到上一个单词的第一个字符

e 将光标移到本单词的最后一个字符,如果光标所在位置为本单词的最后一个字符则将光标移到下一个单词的最后一个字符

gg 到文件头

G 到文件尾

H 到屏幕左上端

M 到屏幕当中最左端

L 到屏幕左下端

( 跳到上一句开头

) 跳到下一句开头

{ 跳到上一段开头

} 跳到下一段开头

= 下一行或【Enter】

^ 当前行第一个空字符

ng 到文件第n行

n% 到文件%n行

nl 到文件第几列

【Ctrl+g】 显示总行数

【Ctrl+f】 向前滚动一屏

【Ctrl+b】 向后滚动一屏

【Ctrl+d】 向前(下)滚半屏

【Ctrl+a】 向后(上)滚半屏

数字与各种命令组合,能将光标移动更远。

例:12k :光标上移12行

20b :光标前移20个单词

14.5 保存和退出Vi

1.从指令模式(按【ESC】可回到指令模式):

:w —保存文件

:q —如果未对文件做改动则退出

2.由于历史的原因,若干个命令相似或有相同的功能

:wq或 :x或 ZZ意为保存文件并退出。

3.如果你需要将文档的拷贝保存为多个文件名,你可以在保存操作期间指定一个新的文件名:

:w filename

4.覆盖保护并强制保存到一个只读文件:

:w!

:q!

6. 以上命令总结

:w 或 :q或zz

—保存当前文件并退出

:q! —放弃存储并退出

:w 文件名 —另存为一个新文件名

:w! —强迫写到你的只读文件中

7.更多的有用的命令

:m , nw 文件名 —写当前文件的m到n行为filename文件

:m , nw >> 文件名 —追加当前文件的m到n行到filename文件中

:r filename —将filename 文件的内容读到当前行的后面

14.6 剪切、拷贝和粘贴

1. 当你删除文本时,vi把此删除的文本放置到缓存中

指令模式下:删除:

x —删除单个字符

nx —删除下几个字符

dd —删除当前行

dw —删除到下一个单词尾,包括下一个空格字符

ndw —删除下几个单词

d$ —删除到行尾

nd$ —删除到n行头

2. 你也能将文本移到缓存中而不用删除它

拷贝:

yw —拷贝一个单词

nyw —拷贝下第n个单词

y$ —拷贝到行尾

yy —拷贝整行

3.你能粘贴缓存中的内容到你的文档

粘贴:

P —粘贴文本到当前位置右侧

p —粘贴文本到当前位置左侧

4.在指令模式下键入V则进入块操作:

⑴ 移动光标以选定操作块

⑵ c剪切选定块

⑶ y复制选定块

⑷ P将选定内容贴在光标所在位置右手边

大家都在看

查看更多数码极客