您的位置:首页 > 其它

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

2015-08-22 15:54 302 查看
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行

yy 复制第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 删除光标位置的字符

/*编辑模式*/

有整理得不对的地方希望大家指正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: