vi的使用

下面是用于编辑的子命令:

a 在当前光标后开始添加(append)字符。

i 在当前光标前开始插入(insert)字符。

o在光标所在行后插入一空行。
O在光标所在行前插入一空行

yy把当前行放入缓冲区。 2yy复制从当前行开始的两行。
Yw把光标所在的单词放入缓冲区

p 将缓冲区内容取到光标所在行的下面一行。

P 将缓冲区内容取到光标所在行的上面一行。

x删除光标所在的字符。

dw删除光标所在单词。

dd删除当前行。

ndd删除从当前开始的n行。2dd删除从当前行开始的两行。

u:取消当前的操作。

.:恢复当前的操作。

在命令模式下:%s/AAA/BBB/:将AAA替换为BBB

:r!cmd:将cmd命令的结果插入光标所在行的下面。

下面是用于控制浏览的子命令:

h 将光标左移一格。
l 将光标右移一格。
j 将光标下移一格。
k 将光标上移一格。
w 将光标移到下一个单词词首。(hljkw都可以带数字,2h,光标右移两格)

0 把光标移到当前行的第一个字符处。 (0是零)
$ 把光标移到当前行的最后一个字符处

H 把光标移到屏幕最顶端一行。 (不是文件的第一行)high
M 把光标移到屏幕最中间一行。middle
L 把光标移到屏幕最底端一行。 (不是文件的最后一行)low

Ctrl + f 向后滚一页。(往文件结尾的方向)
Ctrl + b 向前滚一页。(往文件开头的方向)
两个反引号会到上次的位置。


/pattern 向后寻找指定的pattern ,若遇到文件尾,则从头再开始。
?pattern 向前寻找指定的pattern ,若遇到文件头,则从尾再开始。

n继续搜索,N反方向继续搜索。

下面是一些控制内容显示的子命令:

:set number 在内容前显示行号。

下面是用于保存文件的子命令:

:w保存内容。

:wq保存内容并退出。

:q!退出不保存。

:w file 另存为file。


vi的一些背景故事:Bill Joy在设计vi的时候用到的键盘是ADM-3A,(当时还没有鼠标) 当时的键盘和现在是很不同的,没有上下左右键,hjkl在ADML左下上右键。

当时的控制键只有ESC,CTRL,SHIFT,ESC就在CTRL的上方,所以ESC就被用来做为切换到命令模式的键。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值