-
vi基础知识
- vi用于编辑文本文件;
- vi一个不存在的文件,然后输入内容,会创建此文件
- vi分为三种模式:
一般模式 | 编辑模式 | 命令行模式 |
---|---|---|
刚进入文件时即是一般模式,一般模式下可进行的操作有:上下移动光标,删除某个字符,删除某行,复制,粘贴 | 一般模式是无法编辑文本内容的,需要在一般模式下按i(I,a,A,o,O,r,R)进入编辑模式,编辑模式时,屏幕下方会出现"INSERT"或"REPLACE"的字样;从编辑模式到一般模式,按ESC按钮 | 在一般模式下,输入":"或者"/"进入命令模式,在此模式下,可以搜索,保存,替换,退出等操作 |
vi 文件名
image.png
test09.gif
-
vi常用命令表
一般模式 | |
---|---|
h或← | 光标向左移动一个字符 |
j或↓ | 光标向下移动一个字符 |
k或↑ | 光标向上移动一个字符 |
l或→ | 光标向右移动一个字符 |
Ctrl+f或pgDn键 | 屏幕向后移动一页 |
Ctrl+b或pgUp键 | 屏幕向前移动一页 |
Ctrl+d | 屏幕向后移动半页 |
Ctrl+u | 屏幕向前移动半页 |
+ | 光标移动到非空格符的下一列 |
- | 光标移动到非空格符的上一列 |
n空格 | 按下数字n然后按空格,光标向右移动n个字符,如果该行字符数小于n,则光标继续从下行开始向右移动,一直到n |
0 | 移动到本行行首 |
$ | 移动到本行行尾 |
H | 光标移动到当前屏幕的最顶行 |
M | 光标移动到当前屏幕的中央那一行 |
L | 光标移动到当前屏幕的最低行 |
G | 光标移动到文本的最末行 |
nG | 移动到该文本的第n行 |
gg | 移动到该文本的首行 |
n回车 | 光标向下移动n行 |
/word | 向光标之后搜索word字符串,当找到第一个word后,按n继续搜索后一个 |
?word | 向光标之前搜索word字符串,当找到第一个word后,按n继续搜索前一个 |
:n1,n2s/word1/word2/g | 在n1和n2行间查找word1这个字符串并替换成word2; /可以换为# |
:1,$s/word1/word2/g | 从第一行到最末行,查找word1并替换为word2 |
:1,$s/word1/word2/gc | c的作用是,在替换前需要用户确认 |
x,X | x向后删除一个字符,X向前删除一个字符 |
nx | 向后删除n个字符 |
dd | 删除光标所在的那一行 |
ndd | 删除光标所在的向下n行 |
d1G | 删除光标所在行到第一行的所有数据 |
dG | 删除光标所在行到末行的所有数据 |
yy | 复制光标所在的那行 |
nyy | 复制光标所在行向下n行 |
p,P | p粘贴到当前光标的上一行,P粘贴到当前光标的上一行 |
y1G | 复制光标所在行到第一行的所有数据 |
yG | 复制光标所在行到末行的所有数据 |
j | 将光标所在行与下一行的数据结合成同一行 |
u | 还原过去的操作 |
编辑模式 | |
i,I | i在当前字符前插入,I在当前行行首插入 |
a,A | a在当前字符后插入,A在当前行行末插入 |
o,O | 在当前行下插入新的一行,O在当前行上插入新的一行 |
r,R | r替换光标所在的字符(一次),R替换光标所在的字符,一直到按下ESC键停止 |
命令模式 | |
:w | 保存文档 |
:w! | 强制保存 |
:q | 退出vi/vim |
:q! | 强制退出,无论是否保存 |
:wq | 保存后退出 |
:e! | 将文档还原成最原始状态 |
ZZ | 等同与wq |
:w [filename] | 文档另存为filename |
:r [filename] | 在当前光标所在行的下面读入filename文档的内容 |
:set nu | 显示行号 |
:set nonu | 取消行号显示 |
:n1,n2 w [filename] | 将n1到n2的内容另存为filename这个文档 |
:! command | 暂时离开vim运行linux命令,运行后提示按Enter键返回vim |
网友评论