Vim使用介绍
Vim使用介绍
11.24.2VIM编辑器使用
文本编辑器的作用
创建或修改文本文件
维护Linux系统中的各种配置文件
Linux中的文本编辑器
vi:类Unix系统中默认的文本编辑器
vim:vi编辑器的增强版本,习惯上也称为vi
VIM常用工作模式
命令模式、输入模式、末行模式、可视模式、替换模式
命令模式
这是Vim启动后的默认模式
光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作
插入模式
用来输入文本
进入vim编辑器后,按a或者i等就可以进入插入模式
可视模式
主要用来选择复制区块文本
在命令模式下,使用v或V键可以进入可视模式
末行模式
主要用来设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作
在命令模式下,输入:号之后就进入了末行模式
替换模式
一种特殊的输入模式
每个输入的字符都会覆盖文本中已经存在的字符
在命令模式下,按”R”就可以进入替换模式
不同模式之间的转换
命令模式进入插入模式
操作键 |
功能 |
i |
光标在当前位置进入插入模式 |
I |
光标跳到行首并进入插入模式 |
a |
光标后退一格并进入插入模式 |
A |
光标退到行尾并进入插入模式 |
o |
在光标所在行下新起一行并进入插入模式 |
O |
在光标所在行上新起一行并进入插入模式 |
s |
删除光标所在字符并进入插入模式 |
S |
删除光标所在行并进入插入模式 |
退出Vim编辑器的方法
操作键 |
功能 |
:q |
如果未对文件做改动则退出 |
:q! |
放弃保存并退出(只查看) |
:wq |
保存当前文件并退出 |
:wq! |
强制保存当前文件并退出 |
:x |
保存当前文件并退出 |
:x! |
强制保存当前文件并退出 |
ZZ |
保存当前文件并退出 |
命令模式中的基本操作
光标移动
操作类型 |
操作键 |
功能 |
光标方向移动 |
上下左右 |
上、下、左、右 |
翻页 |
Page Down或Ctrl+F |
向下翻动一整页内容 |
Page Up或Ctrl+B |
向上翻动一整页内容 |
|
行内快速跳转 |
w |
按字(单词)移动光标 |
Home键或“^”、数字“0” |
跳转至行首 |
|
End键或“$”键 |
跳转到行尾 |
|
行间快速跳转 |
1G或者gg |
跳转到文件的首行 |
G |
跳转到文件的末尾行 |
|
#G |
跳转到文件中的第#行 |
删除、复制、粘贴
操作类型 |
操作键 |
功能 |
删除 |
x或Del |
删除光标处的单个字符 |
dd |
删除当前光标所在行 |
|
#dd |
删除从光标处开始的#行内容 |
|
d^ |
删除当前光标之前到行首的所有字符 |
|
d$ |
删除当前光标处到行尾的所有字符 |
|
复制 |
yy |
复制当前行整行的内容到剪贴板 |
#yy |
复制从光标处开始的#行内容 |
|
替换 |
r |
替换光标处的内容,单个字符 |
粘贴 |
p |
将缓冲区中的内容粘贴到光标位置处之后 |
P |
粘贴到光标位置处之前 |
文件内容查找
操作键 |
功能 |
/word |
从上而下在文件中查找字符串“word” |
?word |
从下而上在文件中查找字符串“word” |
n |
定位下一个匹配的被查找字符串 |
N |
定位上一个匹配的被查找字符串 |
撤销编辑
操作键 |
功能 |
u |
按一次取消最近的一次操作 多次重复按u键,恢复已进行的多步操作
|
U |
用于取消对当前行所做的所有编辑 |
末行模式
文件内容替换
查找 :/
命令 |
功能 |
:s/old/new |
将当前行中查找到的第一个字符“old” 串替换为“new” |
:s/old/new/g |
将当前行中查找到的所有字符串“old” 替换为“new” |
:#,# s/old/new |
在行号“#,#”范围内替换第一个字符串“old”为“new” |
:#,# s/old/new/g |
在行号“#,#”范围内替换所有的字符串“old”为“new” |
:% s/old/new/g |
在整个文件范围内替换所有的字符串“old”为“new” |
:s/old/new/c |
在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认 |
:%d |
删除所有内容 |
打开新文件或读入其他文件内容
命令 |
功能 |
:e ~/install.log |
打开新的文件进行编辑 |
:r /etc/filesystems |
在当前文件中读入其他文件内容 |
撤销和另存为
命令 |
功能 |
:e! |
撤消对文件的所有操作,重新开始 |
:w /tmp/hello.txt |
把当前文件另存为/tmp目录下的hello.txt |
多文件操作
格式: vi 文件1 文件2 文件3
命令 |
功能 |
:n |
编辑下一个文件 |
:N |
编辑上一个文件 |
:files |
列出vim打开的文件名 |
行号显示
命令 |
功能 |
:set nu |
显示行号 |
:set nonu |
取消显示行号 |
可视模式中的复制、删除等
命令 |
功能 |
x |
剪切选中文本 |
y |
复制选中文本 |
r |
选中文本字符替换可一起替换其它字符 |
u U ~ |
分别是选中字母变小写、变大写、反转大小写 |
vim执行shell
*在vim页面执行shell命令
进入末行模式,! 命令
11.24.3本章总结
熟练掌握几种常用模式的切换
熟练几种常用模式的命令操作
熟练vim的唯一办法就是大量的操作练习
11.24.4补充
标签
vim -p 以标签页形式
:tabnew 创建一个标签
:tabc 关闭当前的tab
:tabo 关闭所有其他的tab
:tabs 查看所有的打开的tab
:tabp 或gT 前一个
:tabn 或gt 后一个
标记 mark
26个,a-z
创建: ma
跳到a: ’a
查看标记: :marks
跳转前的位置 'a
删除标记 :delmarks a
多行缩进
V 行可是模式
选中多行
向右缩进>
向左缩进<
加密
:x
取消密码
:set key=
:wq
11.24.5作业
练习一:
编辑文本文件/home/text/file1,分4行输入bbb bbb bbb、 ddd ddd ddd、aaa aaa aaa、ccc ccc ccc。保存不要退出;
在末行模式下打开一个新文件/text/file2;
在file2中输入内容为eee eee eee在这一行内容之后,将file1的内容读入到file2中,接着在命令模式下按照abcde的显示顺序调整每行的位置,最后保存退出;
同时编辑file1和file2,接着从file1切换到file2,然后再快速切换回来,接着将file2的内容读到file1内容的末尾,显示文件file1内容的行号,复制3到6行到file1内容的末尾;
利用替换命令将全文的每行第一个ccc都替换为333;
将全文中所有aaa都替换为111,撤销行号,最后不保存退出;