vi 文件名 //若文件不存在,则创建一个文件
输入后转到文本模式:
i:插入光标前一个字符
I:插入行首
a:插入光标后一个字符
A:插入行末
o:向下新开一行
O:向上新开一行
查找:/······· 按n向下检索
将光标置于单词任意一个字符上,按#(向上)或者*(向下)
单行替换:将光标置于代替换行上,esc :s /原代码/新代码
通篇替换:esc :%s /原代码/新代码 //只替换一行中的首个
esc :%s /原代码/新代码/g //替换所有
指定n行替换: esc :起始行号,终止行号s /原代码/新代码/g
命令行模式下:左上下右=h,j,k,l
跳转行:数字G //末行模式下直接输入数字
跳转到文件首:gg
跳转到文件尾:G
自动对齐代码:gg=G
光标选中’ { ‘输入%自动跳转对应的‘ } ’
删除单个字符:x
删除一个单词:光标置于首字母 dw
删除光标至行尾:D
删除光标至行首:d0
光标移动到行首:0
光标移动到行尾:$
替换:r,替换后的字符
删除指定区域:先按V,用hjkl选中删除区域,按d删除
删除行:dd
删除n行:Ndd
复制粘贴:
复制一行yy
粘贴p(向后粘贴)P(向前粘贴)
撤销:u
取消撤销:CTRL+r
分屏:
sp:横屏分CTRL ww切换光标
vsp:竖屏
退出:wqall
跳转至man手册
将光标置于待查看单词上K,指定卷的话用numberK
查看宏定义
将光标置于待查看宏定义单词上 [d
vim模式下执行命令
例如 :!gcc hello.cpp -o hello1