linux文本编辑器vi/vim
Vim编辑器中设置了三种模式:命令模式、末行模式和输入模式,每种模式分别又支持多种不同的命令快捷键,便于更加高效的操作文本。
1、命令模式
控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。
用户刚启动 vi/vim,即进入了命令模式。此外,不管用户处于何种模式,只要按一下ESC键,即可使Vi进入命令模式。
命令 | 作用 |
---|---|
h, j, k, l | 上下左右移动 |
dd | 删除或剪切光标所在行 |
ndd | 删除或剪切光标所在处开始的n行 |
yy | 复制光标所在整行 |
nyy | 复制光标所在处开始的n行 |
/ | 搜索命令,输入内容查找 |
n | 显示搜索命令定位到的下一个字符串 |
N | 显示搜索命令定位到的上一个字符串 |
u | 撤销上一步操作 |
ctrl + r | 反撤销 |
p | 将之前剪切(dd)或复制(yy)过的数据粘贴到光标所在的下一行 |
G | 移动到指定行,行号+G;单独按G光标移动到文件末尾 |
2、输入模式
在命令模式下输入下列命令都可以进入文本输入模式,该模式下,用户输入的任何字符都被当做文件内容保存起来,并将其显示在屏幕上。文本输入过程中,若想回到命令模式下,按键ESC即可
命令 | 作用 |
---|---|
i | 插入光标前一个字符 |
I | 插入行首 |
a | 插入光标后一个字符 |
A | 插入行未 |
o | 向下新开一行,插入行首 |
O | 向上新开一行,插入行首 |
3、末行模式
在命令模式下,用户按“:”键即可进入末行模式下,此时Vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令。末行命令执行完后,Vi自动回到命令模式。
命令 | 作用 |
---|---|
w | 保存 |
q | 退出 |
q! | 强制退出(将放弃对文档内容的修改) |
set nu | 显示行号 |
set nonu | 不显示行号 |
:整数 | 跳转至该行,最大就是文件末尾一行 |
s/str1/str2 | 将当前光标所在行的第一个str1替换成str2 |
s/str1/str2/g | 将当前光标所在行的所有str1替换成str2 |
%s/str1/str2/g | 将全文中的所有str1替换成str2 |
?字符串 | 在文本中从下至上搜索该字符串 |