输入:i 【进入插入模式(从光标位置插入)】
输入:I 【将光标移动到当前行的行首,然后在其前插入文本】
输入:a 【附加命令(在光标位置追加新文本)】
输入:A 【把光标移动到所在行的行尾,从那里插入新文本】
输入:o 【打开命令(在光标所在行的下面新开一行)】
输入:O 【打开命令(在光标所在行的上面插入一行)】
输入:c 【修改命令】
输入:r 【取代命令】
输入:s 【替换命令】
输入:esc 【进入命令模式】输入:“:”【即可进入末行模式,此时Vi会在显示窗口的最后一行(通常也是平民的最后一行)】
输入::q! 【退出不保存】
输入::q 【直接退出。如果在文本输入模式下修改文档内容,则不能退出。】
输入::wq 【标示退出并保存】
输入::x【同":wq"】
h:【光标左移动】
l :【光标右移】
j:【光标上移】
k:【光标下移】
0:【光标移动到行首】
$:【光标移动到行首】
H:【光标移动到屏幕上显示的第一行(并不一定是文件头)】
L:【关闭移动到屏幕上显示的最后一行(并不一定是文件尾)】
M:【光标移动到屏幕的中间一行】
nG:【光标移动到第n行】
w或W:【光标右移下一个单词的词首】
e或E:【光标移动到本单词词尾】
b或B:【光标移动本单词的词首】
Ctrl+G:【状态命令:显示当前编辑文本的状态】
:n:【光标移动到文件的第n行】
:$:【光标移动到文件的最后一行】
x:【删除光标处的字符,若在 x之前加上一个数字 n 则删除从光标所在位置,开始向右的 n 个字符】
X:【删除光标前面的那个字符,若在 X之前加上一个数字 n,则删除从光标,前面那个字符开始向左的 n 个字符】
dd:【删除光标所在的整行,在 dd 前可加上一个数字 n,表示删除当前行及,其后 n-1 行的内容】
D 或 d$:【两命令功能一样,都是删除从光标所在处开始到行尾的内容】
d0:【删除从光标前一个字符开始到行首的内容】
dw:【删除一个单词 若光标处在某个词的中间,则从光标所在位置开始删至词尾,可在 dw之前加一个数字 n,表示删除 n 个指定的单词】
np:【例如使用 dd 命令删除了一行内容,然后使用2p命令,则被删除的内容会被重新插入两遍】
通过 dd 命令及 p 命令的结合使用,可以很方便的实现文本行的移动操作
dd、yy 及 p 命令在 vi 中的作用 类似于 Windows 中图形编辑程序的“剪切”“复制”及“粘贴"命令
u或U :【取消上一命令】
.:【重复命令 Redo】
/:【搜索命令】 n:【查看下一个匹配的命令】 N:【查看上一个匹配的命令】
?:【搜索命令(由光标当前所在尾椎向文件头部搜索)】
:s/text1/text2:【用于将光标所在段落搜索到的第一个“text1” 替换为 “text2”】
:s/text1/text2/g :【用于将光标所在段落的所有“text1”替换为“text2”】
:m,ns/text1/text2/g:【用于将从 m行开始至 n 行结束的所有搜索到的“ text1”替换为“text2”,其中可以使用$表示末行,即“1,$”表示替换文档中的所有符合条件的字符】
set nu : 【在文件中每行行处加入行号】
set nonu:【取消行号】
输入数字:【若直接输入数字在按esc键,就可将光标移至该行行首】
gcc -o my1 hello.cpp
set nonu:【取消行号】
输入数字:【若直接输入数字在按esc键,就可将光标移至该行行首】
gcc -o my1 hello.cpp
./my1.out