记录自己的学习过程
一、vim
vim有三种模式:
- 命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作
- 输入模式:正常的文本录入
- 末行模式:保存或退出文档,以及设置编辑环境
他们之间的关系如图所示:
在每次运行Vim编辑器时,默认进入命令模式,此时需要先切换到输入模式(a,i,o)后再进行文档编写工作,而每次在编写完文档后需要先返回命令模式(esc),然后再进入末行模式(:),执行文档的保存或退出操作。在Vim中,无法直接从输入模式切换到末行模式。Vim编辑器中内置的命令有成百上千种用法。
1、命令模式
操作类型 | 操作键 | 功能 |
---|
光标方向移动 | ↑,↓,←,→ | 上,下,左,右 | 翻页 | Ctrl+F | 向下翻动一整页内容 | | Ctrl+B | 向上翻动一整页内容 | 行内快速跳转 | 0 | 跳转至行首 | | $ | 跳转至行尾 | 文档中快速跳转 | gg | 跳转到文件的首行 | | G | 跳转到文件的末尾行 | | :G | 跳转到文件的第G行 | 行号显示 | :set nu | 在编辑器中显示行号 | | :set nonu | 取消显示行号 | 删除 | x | 删除光标处的单个字符 | | dd | 删除光标所在行 | | #dd | 删除从光标往下的#行 | | d^ | 删除从光标处到该行行首的所有字符 | | d$ | 删除从光标处到该行行尾的所有字符 | 复制 | yy | 复制光标所处整行的内容 | | #yy | 复制从光标处开始往下#行的内容 | 粘贴 | p | 将复制的内容粘贴到光标后 | | P | 将复制的内容粘贴到光标后 | 查找 | /word | 从上往下在文件中查找字符串word | | ?word | 从下往上在文件中查找字符串word | | n | 定位下一个被查找的字符串 | | N | 定位上一个被查找的字符串 | 撤销 | u | 取消最近的操作 | | U | 取消对当前行所做的所有编辑 | | ZZ | 保存并退出 |
2、末行模式
功能 | 操作键 | 备注 |
---|
保存文件 | :w | 上,下,左,右 | | :w /root/newfile | 另存为其他文件 | 未修改退出 | :q | | 放弃对文件内容的修改,并退出vim | :q! | | 保存并退出vim | :wq | | 打开新文件进行编辑 | :e ~/install.log | | 在当前文件中读入其他文件内容 | :r /etc/filesystems | | 将当前行中查找到的第一个字符old替换为new | : s /old/new | | 将当前行中查找到的所有字符old替换为new | : s /old/new/g | | 在行号#,#范围内替换所有的old为new | :#,# s/old/new/g | | 在整个文件范围内替换所有old为new | :% s/old/new/g | | 在替换命令末尾加入c,将对每个替换动作提示用户进行确认 | : s /old/new/c | |
!!!!!!!! : s之间是没有空格的!!!!!!!!! 编辑器没有空格输入会成这样 😒
练习:
1.使用两种方式创建文本文件text1.txt, text2.txt a.使用Vim在文件text1.txt中写入 Welcome to my Linux. You are the best. This is my first file to create on linux b.在命令模式下,复制第二行,并粘贴到第三行下边 c.在命令模式下,先跳转文件的末尾行,然后跳转到文件的首行 d.删除第二行 e.替换文件中所有的to单词 f.保存并退出
[root@my-rhel ~]
total 4
-rw-------. 1 root root 1766 Aug 4 13:34 anaconda-ks.cfg
drwxr-xr-x. 3 root root 37 Aug 7 18:38 llll
[root@my-rhel ~]
[root@my-rhel ~]
[root@my-rhel ~]
total 4
-rw-------. 1 root root 1766 Aug 4 13:34 anaconda-ks.cfg
drwxr-xr-x. 3 root root 37 Aug 7 18:38 llll
-rw-r--r--. 1 root root 0 Aug 7 20:14 text1.txt
-rw-r--r--. 1 root root 0 Aug 7 20:15 text2.txt
[root@my-rhel ~]
[root@my-rhel ~]
Welcome to my Linux.
You are the best.
this is my first file to create on linux
[root@my-rhel ~]
[root@my-rhel ~]
Welcome 6666 my Linux.
this is my first file 6666 create on linux.
You are the best.
|