RHCSA学习 — vim指令总结
一、命令模式下常用指令
1,光标跳转指令:
功能 | 按键 |
---|---|
光标按单个字符移动 | ↑、↓、←、→ |
光标按照单词向后跳转 | w |
光标按照单词向前跳转 | b |
光标跳转到行首 | ^ |
光标跳转到行尾 | $ |
光标跳转到第一行第一个字符 | gg |
光标跳转到最后一行第一个字符 | G |
光标跳转到指定行 | 行号gg 或 行号G |
2,复制、粘贴、删除
功能 | 按键 |
---|---|
删除光标所在行 | dd |
删除从光标开始的n行 | ndd |
删除光标前至行首字符 | d^ |
删除光标所在及其之后的所有字符 | d$ |
复制光标所在行 | yy |
复制从光标开始的n行 | nyy |
将缓冲区的内容粘贴到光标所在行的下一行 | p(小写) |
将缓冲区的内容粘贴到光标所在行的上一行 | P(大写) |
撤销操作 | u |
二、编辑模式指令
功能 | 按键 |
---|---|
在光标前插入 | i |
在光标所在行行首第一个非空字符前插入 | I(大写i) |
在光标后插入 | a |
在光标所在行末尾插入 | A |
在光标所在行上一行插入 | O(大写) |
在光标所在行下一行插入 | o(小写) |
删除光标所在字符并进入插入模式 | s(小写) |
删除当前行并进入插入模式 | S(大写) |
命令模式下按上述任何一种功能键可以从命令模式切换到编辑模式,在编辑模式按esc键以切换到命令模式
三、末行模式
按:或者/可从命令模式切换到末行模式,按esc键可以返回命令模式
(1)查找、替换
功能 | 按键 |
---|---|
从上而下在文件中查找字符串"inui"(可以按n定位到下一个匹配的被查找字符串) | /inui |
将当前行中查找到的第一个字符"old"替换为"new" | :s /old/new |
将当前行中查找到的所有字符"old"替换为"new" | :s /old/new/g |
在行号“n1,n2”范围内替换所有的字符串"old"为"new" | :n1,n2 s/old/new/g |
将整个文件内的字符串"old"替换为"new" | :% s/old/new/g |
(2)保存退出
功能 | 按键 |
---|---|
退出vi/vim编辑器,未对文件做任何编辑操作才可退出 | :q |
不保存文档内容,强制退出vi/vim编辑器 | :q! |
保存文件 | :w |
将文件另存为/dir/file | :w /dir/file |
保存文件内容并退出vi/vim编辑器 | :wq 或者 ZZ |
强制保存并退出 | :wq! |
(3)其他操作
功能 | 按键 |
---|---|
在当前文件中读入其他文件内容 | :r /dir/file |
查找含有"inui"的行并删除 | :g/inui/d |
查找不含"inui"的行并删除 | :v/inui/d |
查找开头是"inui"的行并删除 | :g/^inui/d |
查找结尾是"inui"的行并删除 | :v/$inui/d |
显示行号 | :set nu |
关闭行号显示 | :set nonu |
删除n1-n2行内容 | :n1,n2 d |
复制n1-n2行到第n行后面 | :n1,n2 co n |
四、拓展用法
(1)可视化模式
按Ctrl+v进入可视化模式
该模式下通过光标移动选择文本,选取后按 y 可以把文本提取到缓冲区(即复制),c 可以剪切。之后可以
使用p在光标后粘贴,P粘贴在光标前
(2)多文档编辑
在打开一个文件的时候,输入 :sp /dir/file 可分屏显示另一个文件
使用ctrl+w w将光标在多个文件之间切换