vi是最强大的文本编辑器,没有之一。尽管 vi已经是古董级的软件,但还是有无数新人迎着困难去学习使用,可见其经典与受欢迎程度。
无论是小说中还是电视剧,真正强大的武器都不容易驾驭,需要付出一些努力才能收获到更加强大的力量,对于vi这种上古神器来说更是如此。由于它全程使用键盘操作,很多首次接触 vi的人会觉得不习惯而中途放弃。然而,坚持下来的朋友就会渐渐地发现这种键盘操作的设计绝妙之处!经典之所以能成为经典,必然有它的道理,不用解释太多。
观察一个程序员对vi的熟练程度,可以判断它的技术水平,如果他对vi不熟悉,就肯定不是Linux平台下的程序员,说vi不好用的人也肯定不熟悉vi,没有例外。
vi 有两种模式,命令行模式和编辑模式,在命令行模式下,任何键盘输入都是命令,在编辑模式下,键盘输入的才是字符。
打开一个文件: vi 文件名,如果文件不存在,就新建文件。
Esc 从编辑模式切换到命令行模式
i 从光标所在字符前插入
a 从光标所在的字符后面插入
o 从光标所在行的下面插入空白行
O 从光标所在行的上面插入空白行
I 从光标所在行的行首插入
A 从光标所在行的行末插入
k 类似方向键上
j 类似方向键下
h 类似方向键左
l 类是方向键右
Ctrl+u 向上移动半页
Ctrl+d 向下移动半页
gg 光标跳到文本的第一行
G 光标跳到文本最后一行
0 光标跳到所在行的行首
$ 光标跳动到所在行的行尾
w 光标跳到下个单词的开头
b 光标回到上个单词的开头
e 光标回到本单词的尾部
x 每按一次,删除光标所在位置的一个字符
nx 如"3x"表示删除光标所在位置开始的3个字符
dw 删除当前光标所在的单词
dd 删除光标所在行
ndd 如"3dd"表示删除光标所在行开始的3行字符
yy 将光标所在行复制到缓冲区
nyy 将光标所在n行复制到缓冲区
p 将缓冲区里的内容写到光标所在位置
r 替换光标所在处的字符 replace
R 替换光标所在处的字符,直到按下"Esc"为止
cw 开始替换当前光标所在的单词,直到按下"Esc"为止
u 撤销命令,可多次撤销
J 把当前行的下一行接到当前行的尾部
Ctrl+g 列出文件一共有多少行
nG 表示移动光标到文件的第n行行首
/abcd 在当前打开的文件中查找“abcd”文本内容
n 查找下一个
N 查找上一下
. 重复执行上一次执行的vi命令。
~ 对光标当前所在的位置的字符进行大小写转换。
:5回车 光标跳到第5行。
:n回车 光标跳到第n行。
:w回车 存盘
:w!回车 强制存盘
:wq回车 存盘退出
:x回车 存盘退出
:q回车 不存盘退出
:q!回车 不存盘强制退出
:g/aaaaaaaaa/s//bbbbbb/g回车 把文件中全部的aaaaaaaaa替换成bbbbbb
Ctl+insert 复制鼠标选中的文本,相当于Ctl+c
Shift+insert 输出鼠标选中的文本,相当于Ctl+v
以上两个命令在windows和UNIX中是通用的。
C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。
来源:C语言技术网(www.freecplus.net)
作者:码农有道
如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发我的文章,谢谢!!!
如果文章有错别字,或者内容有误,或其他的建议或意见,请您留言指正,非常感谢!!!