最近在配置LAMP服务器,需要用到vi,所以重新学习整理了一下

vi [文件名] 若存在该文件,则打开存在文件;若不存在,将新建文件名为[文件名]的文件;

/*命令行模式--直接键入,不是命令行*/

k、j 上下
h、l 左右
^、0 移动到行首
$ 移动到行尾
nG 跳转到第n行
G 跳转到首行
Ctrl+G 显示光标所在位置的行数和列数
w、b 使光标向前或向后跳过一个单词
) 光标移至句尾
( 光标移至句首
} 光标移至段落最后一个字母
{ 光标移至段落第一个字母
n+ 光标下移n行
n- 光标上移n行
n$ 光标移至第n行尾
H 光标移至屏幕顶行
M 光标移至屏幕中间行
L 光标移至屏幕最后行

i 在光标的前插入字符(i=insert)--进入编辑模式
a 在光标的后插入字符(a=append)--进入编辑模式
o 在当前行之下新开一行--进入编辑模式
r 将光标处的字符替换成另一个字符(r=replace)
cw 改变光标所在处的`单词`(c=change)
dw 删除光标所在处的`单词`(d=delete)
x 删除光标所在处的一个字符
d$ 删除光标所在处到行尾的所有字符
d0 删除光标所在处到行首的所有字符
d 删除整行

Ctrl+F 向前翻一页
Ctrl+B 向后翻一页
Ctrl+U 向前翻半页
Ctrl+D 向后翻半页

[n,m]y 复制第n行到第m行
[n]yy 复制第n行,若无行数,只复制当前行
[n]yw 复制第n个单词,若无行数,只复制光标到单词尾
y$ 复制光标到行尾
y^ 复制光标到行首

文件在编辑中会产生一个临时文件,文件以.开头并以.swp结尾。在异常退出的时候,系统在下一次编辑的时候会提示命令处理。
O 只读打开
E 继续编辑,不恢复.swp文件
R 恢复文件,继续编辑
Q 退出vi
D 删除.swp文件
A 中止
vi -i [文件名] 恢复.swp文件

ndd 删除当前行及其后n-1行

p 在光标所在位置粘贴


/*命令行模式--直接输入,不是命令行*/


/*命令行模式--命令行输入*/

:q! 强制退出
:w 保存
:[m,n]w[文件名] [将编辑的文件的m至n行]另存为
:wq 保存并退出
:wq! 保存并强制退出

:set nu 显示行号
:set nonu 取消行号
:nu 显示当前行号

:/string 从光标所在处向前查找相应的字符串的命令
:?string 从光标所在处向后查找相应的字符串的命令(借助"?"

一般出现在最后理解)
n 在同一方向重复上一次搜索命令
N 在反方向上重复上一次搜索命令

:u 取消最近一次操作
:U 取消所有操作
Ctrl+R 恢复对u命令的操作

(s-substitute代替;g-global)
:s/old/new 用new替换首次出现的old
:s/old/new/g 用new替换行中出现的所有old
:[n,m]s/old/new/g 用new替换第n行到第m行中出现的old
:%s/old/new/g 用new替换所有的old
:s/old/new/c 用new替换首次出现的old,用户需要确认。

:r [文件名] 在打开的文件file中光标所在处读入[文件名]
:nr [文件名] 在打开的文件file中光标所在处读入[文件名]从第n行开始的内容

:n1,n2 co n3 将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3 将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d 将n1行到n2行之间的内容删除

/*命令行模式--命令行输入*/


/*编辑模式*/

Esc 退出编辑模式
PageUp 向前翻页
PageDown 向后翻页

Delete 删除光标位置的字符


/*编辑模式*/


有整理得不对的地方希望大家指正。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值