Linux Vi和Vim编辑器
# Linux Vi和Vim编辑器
# vi和vim的基本介绍
- Linux系统会内置vi文本编辑器
- Vim具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
# vi和vim常用的三种模式
# 正常模式
以vim打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容,也可以使用『复制、粘贴』来处理你的文件数据。
# 插入模式
按下i,I, o,0, a, A, r,R等任何一个字母之后才会进入编辑模式,一般来说按i即可.
# 命令行模式
输入esc 再输入:在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开 vim 、显示行号等的动作则是在此模式中达成的!
# 各种模式的相互切换
# Vi基本操作
操作类型 | 操作键 | 功能 |
---|---|---|
光标移动方向 | ↑、↓、←、→ | 上、下、左、右 |
翻页 | Page Down 或 Ctrl+F | 向下翻动一整页内容 |
Page Up或Ctrl+B | 向下翻动一整页内容 | |
行内快速跳转 | Home键或"^"、数字"0" | 跳转至行尾 |
End键或"$"键 | 跳转至行尾 | |
行间快速跳转 | 1G或者gg | 跳转到文件的首行 |
G | 跳转到文件的尾行 | |
#G | 跳转至文件的第#行 | |
行号显示 | :set nu | 在编辑器中显示行号 |
:set nonu | 取消编辑器中的行号显示 | |
删除 | x或Del | 删除光标处的单个字符 |
dd | 删除当前光标所在行 | |
#dd | 删除从光标处开始的#行内容 | |
d^ | 删除当前光标之前到行首的所有字符 | |
d$ | 删除当前光标处到行尾的所有字符 | |
复制 | yy | 复制当前行整行的内容到粘贴板 |
#yy | 复制从光标处开始的#行内容 | |
粘贴 | p(小写) | 将缓冲区的内容粘到贯标位置之后 |
P | 粘贴到光标位置处之前 | |
保存文件 | :w | |
:w /root/newfile | 另存为其他文件 | |
退出vi | :q | 未修改退出 |
:q! | 放弃对文件内容的修改,并退出vi | |
保存文件退出vi | :wq |
操作键 | 功能 |
---|---|
/word | 从上而下在文件中查找字符串"word" |
?word | 从下而上在文件中查找字符串"world" |
n | 定位下一个匹配的被查找字符串 |
N | 定位上一个匹配的被查找字符串 |
u | 按一次取消最近的一次操作,多次重复按u键,恢复已进行的多步操作 |
U | 用于取消对当前行所做 |
ZZ | 保存当前的文件内容并退出vi编辑器 |
:e ~/install.log | 打开新的文件进行编辑 |
:r /etc/filesystems | 在当前文件中读入其他文件内容 |
:s /old/new | 将当前行中查找到的第一个字符"old"串替换为"new" |
:s /old/new/g | 将当前行中查找到的所有字符串"old"替换为"new" |
:#,# s/oldnew/g | 在行号"#,#"范围内替换所有的字符串"old"为"new" |
:% s/old/new/g | 在整个文件范围内替换所有的字符串"old"为"new" |
:s /old/new/c | 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认 |
# vi和vim快捷键
# 快捷键使用练习
- 拷贝当前行yy ,拷贝当前行向下的5行5yy,并粘贴(输入p)。
- 删除当前行 dd,删除当前行向下的5行5dd
- 在文件中查找某个单词[命令行下/关键字﹐回车查找﹐输入n就是查找下一个]
- 设置文件的行号,取消文件的行号.[命令行下: set nu和:set nonu]
- 编辑/etc/profile文件,在一般模式下,使用快捷键到该文档的最末行[G]和最首行[gg]
- 在一个文件中输入"hello",在一般模式下,然后又撤销这个动作u
- 编辑/etc/profile文件,在一般模式下,并将光标移动到,输入20,再输入shift+g
- 快捷键的键盘对应图
帮助我改善此页面 (opens new window)
上次更新: 2024年3月20日