linux程序员必备的vi操作

一、关于vi

? vi是最强大的文本编辑器,没有之一,vi作为上古神器,历史悠久,现在还应用如此的广泛,正印证了存在即合理的道理,只要你经常接触linux,必然少不了接触vi。

? vi的初次使用可能体验感很不好,就和上古神器一样,强大的武器和工具都是难以驾驭的。当你vi操作熟练后,你会觉得真香,并且你的90%操作都可以摆脱鼠标

二、创建/打开文件

vi 文件名

打开一个文件,如果文件不存在,就创建它

示例:

vi helloword.c

三、vi的三种模式

vi 有三种模式,命令行模式、插入模式和替换模式,在命令行模式下,任何键盘输入都是命令,在插入模式和替换模式下,键盘输入的才是字符,插入模式和替换模式也合称为编辑模式。

四、vi的常用命令

模式切换命令

Esc 从编辑模式切换到命令行模式

i 在光标所在位置前面开始插入

a 在光标所在的位置后面开始插入

o 在光标所在位置行的下面插入空白行

O 在光标所在位置行的上面插入空白行

I 在光标所在位置行的行首开始插入

A 在光标所在位置行的行末开始插入

保存于退出操作命令

:w回车 存盘。

:w!回车 强制存盘。

:wq回车 存盘退出。

:x回车 存盘退出。

:q回车 不存盘退出。

:q!回车 不存盘强制退出。

方向操作命令

k 类似方向键上

j 类似方向键下

h 类似方向键左

l 类是方向键右

Ctrl+u 向上翻半页

Ctrl+d 向下翻页

跳转操作命令

Ctrl+g 显示光标所在位置的行号和文件的总行数。

nG 光标跳到文件的第n行行首

G 光标跳到文件最后一行

:n回车 光标跳到第n行

0 光标跳到当前行的行首

$ 光标跳到当前行的行尾

w 光标跳到下个单词的开头

b 光标跳到上个单词的开头

e 光标跳到本单词的尾部

删除操作

x 每按一次,删除光标所在位置的一个字符

nx 如"3x"表示删除光标所在位置开始的3个字符

dw 删除光标所在位置到本单词结尾的字符

D 删除本行光标所在位置后面全部的内容

dd 删除光标所在位置的一行

ndd 如"3dd"表示删除光标所在位置开始的3行

复制粘贴操作命令

yy 将光标所在位置的一行复制到缓冲区

yw 复制光标位置到单词的结束到缓冲区

y$ 复制光标位置到行末到缓冲区

yG 复制光标所在行到文件末尾到缓冲区

nyy 将光标所在位置的n行复制到缓冲区

p 将缓冲区里的内容粘贴到光标所在位置

Ctl+insert 复制鼠标选中的文本,相当于Ctl+c

Shift+insert 输出鼠标选中的文本,相当于Ctl+v

备注:以上两个命令在windows和UNIX中是通用的。

替换与查找操作命令

r 替换光标所在位置的一个字符 replace

R 从光标所在位置开始替换,直到按下"Esc"

cw 从光标所在位置开始替换单词,直到按下"Esc"

查找操作:/

示例:
/abcd 在当前打开的文件中查找“abcd”文本内容

n 查找下一个

N 查找上一下

单个替换:

:s/xxx/ccc 把光标所在行第一个xxx字段替换为ccc

单行替换:

:s/xxx/ccc/g 把光标所在行所有xxx字段替换为ccc

全局替换:

:g/xxx/s//ccc/g回车 把文件中全部的xxx替换成ccc

Ctrl+r 反撤销命令,可多次反撤销

u 撤销命令,可多次撤销

其余常用操作命令

. 重复执行上一次执行的vi命令(与查找替换命令结合起来非常好用)
对光标当前所在的位置的字符进行大小写转换

列操作 :Ctrl+V

示例:
Ctrl+V 光标上或下 大写的I 输入需要插入的内容内容 Esc

J 把当前行的下一行接到当前行的尾部

恢复文件

vi在编辑某一个文件时,会生成一个临时文件,这个文件以 . 开头并以 .swp结尾。正常退出该文件自动删除,如果意外退出例如忽然断电,该文件不会删除,我们在下次编辑时可以选择一下命令处理:

O 只读打开,不改变文件内容

E 继续编辑文件,不恢复.swp文件保存的内容

R 将恢复上次编辑以后未保存文件内容

Q 退出vi

D 删除.swp文件

或者使用vi -r 文件名来恢复未保存的内容

linux程序员必备的vi操作

上一篇:Linux常用命令


下一篇:ubuntu网络连接失败