说在前面
在linux中代表当前用户家目录,在vim中默认进入的是命令模式,在命令模式下输入的任何操作都被当作是命令,从命令模式可以进入到尾行模式和插入模式,按住ioa可以进入插入模式,按:或者/可以进入尾行模式(命令编辑模式)。(ls其实是别名,想不看别名可以直接\ls)
创建文件
输入命令 | 操作结果 |
---|
vi | 打开编辑器 |
i | 进入插入模式 |
:w duanbang.txt | 文件保存为duanbang.txt |
插入模式命令介绍
输入命令 | 介绍 |
---|
a | 在光标所在字符后插入 |
A | 在光标所在行行尾插入 |
i | 在光标所在字符前插入 |
I | 在光标所在行行首插入 |
o | 在光标下插入新行 |
O | 在光标上插入新行 |
命令模式命令介绍(进入命令编辑模式的按回车键结束)
输入命令 | 介绍 |
---|
:w [file][!] | 保存[保存为或者另存为][在没有权限的时候强制保存,但只限于文件所有者和root] |
:wq[!] | 保存退出[强制]wq和!可以组合使用,q是退出!是强制w是保存 |
:w duanbang.txt | 文件保存为duanbang.txt |
ZZ | shift+z快捷键保存退出 |
:set [no]nu | 显示[隐藏]行号 |
:set ic | 操作不区分大小写 |
gg | 到第一行 |
G | 到最后一行 |
nG | 到第n行 |
:n | 到第n行 |
hljk | 左下上右移动光标 |
e | 跳到(本)下个单词的结尾 |
w | 跳到下个单词的首字母 |
b | 跳到(本)上个单词的首字母 |
$ | 移动到行尾 |
0 | 移动到行首 |
HL | 移动到屏幕的屏首和屏尾 |
{} | 移动到段落的开始和末尾 |
x | 删除光标所在处字符 |
nx | 删除光标所在处后n个字符 |
[n]dd | [删除n行]删除光标所在行 |
dG | 删除光标所在行到文件末尾内容 |
d+w | 删除单词 |
d+$ | 删至行尾 |
d+} | 删至段尾 |
x | 删除单个字符 |
D | 删除光标所在处到行尾位置 |
:n1,n2d | 删除n1行到n2行的内容 |
[n]yy | [复制当前行以下n行]复制当前行 |
y+光标移动区域 | 从光标所在地复制光标移动区域信息 |
[n]dd | [剪切当前行以下n行]剪切当前行 |
p[P] | 粘贴到光标下一行[粘贴到光标上一行] |
r[R] | 替换光标所在处字符[从光标所在处字符往后替换,按ESC键结束] |
u | 取消上一步操作 |
. | 重复上一次命令 |
J | 合并两行 |
/string | 搜索指定的字符,按n键去下一个搜索结果 |
:[%/n1,n2]s/old/new/[g/c] | [全文/指定行号范围]替换指定字符串 g代表不询问,c询问是否替换 |
:r ! [commond] | 在文件中导入命令执行结果,比如:r!date 可以插入系统时间 |
自定义快捷建
命令 | 作用 | 说明 |
---|
:map ^P I#<ESC> | 在行首插入# | ^P必须是ctrl+v+p这三个键同时按下或者先按ctrl+v 再按p,格式就是map先声明是定义快捷键,然后是定义的快捷键。 |
:n1,n2s/^/#/g | n1-n2行范围内注释 | 其实就是一个替换操作而已,^符号代表每一行的行首 |
:n1,n2s/^#//g | 取消范围内注释 | |
:n1,n2s/^/\/\//g | 给范围加//注释符 | 需要加转义符| |
:ab myname duanbang | b替换a | 执行完这个命令后,每次输入myname都会自动替换成duanbang |
快捷键等设置长期有效需要在用户的家目录下创建.vimrc文件,在这里面可以直接输入命令和快捷键设置, 如下代码示例文件如下:
[qinxianyou@localhost ~]$ vi vimrc
set nu
ab name 秦仙游
map ^P I