vi 常用命令 |summary

来源:互联网 发布:合肥软件测试薪资 编辑:程序博客网 时间:2024/06/04 14:15
 

两种模式:插入模式+命令行模式(命令行模式+底行模式)

说明:第一列*表示常用程度

 

---基本篇

1 进入vi

vi file --默认命令行模式,切换到插入模式[i]

2 esc -退出插入模式

3 保存:命令行模式下

:w filename (输入 「w filename」将文章以指定的文件名filename保存)

:wq (输入「wq」,存盘并退出vi)

: q! (输入q!, 不存盘强制退出vi)

:sh 切换到shell状态

 

--命令行模式功能键

1 进入输入模式
*** a 在当前游标之后输入   
 A 在当前行之末输入   
*** i 在当前游标之前输入   
 I 在当前行之首输入   
*** o 在当前行之下新增一行,并在新增行输入   
 O 在当前行之上新增一行,并在新增行输入 

esc:退出输入模式

 

2 游标移动
*** h 向左移动一个字元   
*** l 向右移动一个字元   
*** j 向下移动一个字元   
*** k 向上移动一个字元   
* b 左移一个单词,至词首   
* w 右移一个单词,至词尾   
* 0 移到当前行行首   
* $ 移到当前行行尾   
 + 移至下一行的行首   
 - 移至上一行的行首   
 H 移至视窗的第一行   
 M 移至视窗的中间一行   
 L 移至视窗的最后一行   
 G 移至该文件的最后一行   
 nG 移至该文档的第n行   
 n+ 下移n行   
 n- 上移n行 

按数字「0」:移到文章的开头。

按「G」:移动到文章的最后。

按「$」:移动到光标所在行的"行尾"。

按「^」:移动到光标所在行的"行首"

按「w」:光标跳到下个字的开头

按「e」:光标跳到下个字的字尾

按「b」:光标回到上个字的开头

按「#l」:光标移到该行的第#个位置,如:5l,56l。

 

3 视窗移动
*** <Ctrl> + f 视窗下卷一页   
*** <Ctrl> + b 视窗上卷一页   
 <Ctrl> + d 视窗下卷半页   
 <Ctrl> + u 视窗上卷半页   
* <Ctrl> + e 视窗下卷一行   
* <Ctrl> + y 视窗上卷一行 


 

4 删除操作
*** x 删除游标所在字元   
 X 删除游标前一字元   
* dw 从游标当前位置开始向后删除一个单词   
 db 从游标当前位置开始向前删除一个单词   
* d0 从行首删除至当前游标位置   
* d$ 从游标当前位置删除至行尾   
*** dd 删除游标所在行   
 D 同d$ 


 

5 修改操作 
*** s 修改游标所在字元,修改完成后按Esc键结束   
 S 修改整行内容,修改完成后按Esc键结束   
* r 替换当前游标所在字元   
* R 进入替换状态,直至按Esc键结束   
* cw 修改一个单词(从游标位置至词尾)   
 cb 修改一个单词(从词首至游标位置)   
* cc 修改整行内容,完成后按Esc键结束,同S   
* c0 修改行首至游标位置的内容   
* c$ 修改游标位置至行尾的内容   
 ~ 游标所在字元大小写切换 


 

6 指令重复 
*** nx 删除n个字元   
*** ndd 删除n行   
*** ns 修改n个字元 


 

7 取消前一动作(Undo) 
*** u 撤消上一指令的结果 


 

8 查找字符串 
*** /字符串 从当前游标向后查找该字符串   
*** ?字符串 从当前游标向前查找该字符串   
*** n 从当前游标向后查找下一个字符串   
*** N 从当前游标向前查找下一个字符串 

 

 

1 环境设置

:set 显示已设置的环境状况   
 :set all 显示所有的环境设置选项   
* :set nu 显示行号   
* :set nonu 不显示行号   
* :set ts=n 设置Tab键的长度为n 
 

2 执行指令
 * :10,20d 删除第10行至第20行的内容   
 :10d 删除第10行的内容   
 :%d 删除全部内容   
* :10,20co30 将第10行至第20行的内容复制到第30行之后   
* :10,20mo30 将第10行至第20行的内容移动到第30行之后   
 :1,$s/old/new 将第1行至最后一行中的old替换成new   
 :1,$s/^/new 将第1行至最后一行的内容前面插入new   
* :10 将游标移至第10行 

3 重复指令

 . 重复上一条指令 

 

 


 

原创粉丝点击