一、vi常用命令
1、移动命令
| 命令 | 作用 |
|---|---|
| j | 光标左移 |
| j | 光标下移 |
| k | 光标上移 |
| l | 光标右移 |
| w | 光标跳到下个单词的开头 |
| b | 光标回到上个单词的开头 |
| e | 光标回到本单词的尾部 |
| Ctrl+u | 向上移动半页 |
| Ctrl+d | 向下移动半页 |
2、插入命令
| 命令 | 作用 |
|---|---|
| a | 在光标所在字符后插入 |
| A | 在光标所在行行尾插入 |
| i | 在光标所在字符前插入 |
| I | 在光标所在行行首插入 |
| o | 在光标下插入新行 |
| O | 在光标上插入新行 |
3、定位命令
| 命令 | 作用 |
|---|---|
| :set nu | 设置行号 |
| :set nonu | 取消行号 |
| gg | 到第一行 |
| G | 到最后一行 |
| nG | 到第n行 |
| :n | 到第n行 |
| $ | 移至行尾 |
| 0 | 移至行首 |
4、删除命令
| 命令 | 作用 |
|---|---|
| x | 删除光标所在处字符 |
| nx | 删除光标所在出后n个字符 |
| dd | 删除光标所在行 |
| ndd | 删除光标所在行以下n行 |
| dG | 删除光标所在行到文件末尾行 |
| dw | 删除当前光标所在的单词 |
| D(d$) | 删除光标所在出到行尾内容 |
| :n1,n2d | 删除指定范围的行 |
4、复制和剪切命令
| 命令 | 作用 |
|---|---|
| yy | 复制当前行 |
| nyy | 复制当前行以下n行 |
| dd | 剪切当前行 |
| ndd | 剪切当前行以下n行 |
| p、P | 粘贴在当前光标所在行下或行上 |
| Ctl+insert | 复制鼠标选中的文本,相当于Ctl+c |
| Shift+insert | 输出鼠标选中的文本,相当于Ctl+v |
5、替换和撤销命令
| 命令 | 作用 |
|---|---|
| r | 替换光标所在字符 |
| R | 从光标所在处开始替换字符,按Esc结束 |
| cw | 开始替换当前光标所在的单词,直到按下"Esc"为止 |
| ~ | 对光标当前所在的位置的字符进行大小写转换。 |
| u | 撤销,可多次撤销 |
6、搜索和搜索替换命令
| 命令 | 作用 |
|---|---|
| /string | 搜索指定字符串 搜索时忽略大小写:set ic |
| n、N | 搜索指定字符串的下一个或上一个出现位置 |
| :%s/old/new/g | 全文替换指定字符串 |
| :n1,n2s/old/new/g | 在一定范围内替换指定字符串 |
7、保存和退出命令
| 命令 | 作用 |
|---|---|
| :w回车 | 存盘 |
| :w!回车 | 强制存盘 |
| :w new_filename回车 | 另存为指定文件 |
| :wq回车 | 存盘退出 |
| :wq!回车 | 存盘退出(root和所有者可用) |
| :x回车 | 存盘退出 |
| :q回车 | 不存盘退出 |
| :q!回车 | 不存盘强制退出 |
| ZZ | 快捷键,存盘退出 |
8、其他命令
| 命令 | 作用 |
|---|---|
| Esc | 从编辑模式切换到命令行模式 |
| . | 重复执行上一次执行的vi命令 |
| J | 把当前行的下一行接到当前行的尾部 |
二、vi使用技巧
1、从光标位置开始导入文件的内容
:r 文件名
2、从光标位置开始导入命令执行结果
:r! 命令
3、定义快捷键
:map 快捷键 触发命令
示例 :
-
:map ^P I//<Esc> (Ctrl+P 为 在行首输入//并退出编辑模式)
-
:map ^B 0x
其中: ^B 为 Ctrl+v+b或者Ctrl+v Ctrl+b (不区分大小写)
4、连续行注释
:n1,n2s/^/\#/g 连续行注释#
:n1,n2s/^\#//g 取消连续行注释#
:n1,n2s/^/\/\//g 连续行注释//
5、替换
:ab time yyyymmdd 输入time空格 ,time将被替换成yyyymmdd
注意:如果想要快捷键和ab替换对此用户vi永久有效需要修改此用户家目录下的配置文件 .vimrc
例如: vi /root/.vimrc
输入:
map ^P I//<Esc>
ab time yyyymmdd
4410

被折叠的 条评论
为什么被折叠?



