博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
技术杂记之:vi使用入门
阅读量:6914 次
发布时间:2019-06-27

本文共 1298 字,大约阅读时间需要 4 分钟。

        对于Linux的初次使用者来说,进入Linux非图形界面后,不知道怎么创建文本(甚至于在图形界面,也找不到创建文本的菜单)。其实,每一个Linux的发行版本,都包含了一个最简单、也是最基础的文本编辑器:vi(Visual Interface)。

        其实,想要创建文本文件,很简单,只要在终端中输入:vi myfile.txt就可以了。注意了,包括想要创建java文件,也可以这样的。

        要使用vi,得从vi的三个状态讲起。

1、vi的三个状态

        a)命令行模式command mode)

        控制屏幕光标的移动,字符、字或行的删除。

        b)插入模式(Insert mode)

        在此模式下才能文字编辑,按「ESC」键可回到命令行模式。初学者发现自己怎么敲键盘都不能编辑文本,就是因为vi没有在插入模式下。

        c)底行模式(last line mode)

        此模式下可以进行文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号等。

2、vi的最简入门

        a)进入vi

        命令:

        vi myfile

        此刻,vi是在命令模式下。Widnows用户此刻习惯想用上下左右键移动光标,结果发现毫无用处。此时此刻,先按字母「i」就能进入插入模式,你才能进行真正的编辑。

        b)切换至插入模式(Insert mode)编辑文件

        在命令模式下按一下字母「i」就可以进入插入模式,进行真正的文字编辑。

        c)退出vi及保存文件

        按「ESC」进入到命令行模式,在按一下冒号「:」键就能进入底行模式,然后敲入命令:

        : w filename 保存

        : wq 保存并退出vi

        : q! 强制退出,且不保存

3、命令行模式重要功能键

        a)插入模式

        按「i」切换进入插入模式「insert mode」;

        b)从插入模式切换为命令行模式

        按「ESC」键;

        c)移动光标

        按字母「h」、「j」、「k」、「l」,可以左、下、上、右移一格。

        按「ctrl」+「b」:往后移动一页。

        按「ctrl」+「f」:往前移动一页。

        按「0」:移到开头。

        按「G」:移到最后。

        d)删除文字

        「x」:删除光标之后"一个字符。

        「#x」:如,「3x」删除光标后3个字符。

        「dd」:删除当前行。

        「#dd」:删除当前行之后#行

        e)复制

        「yy」:复制当前行。

        「#yy」:复制当前行之后#行。

        f)回复上一次操作

        「u」:撤销上次操作。

        g)跳至指定的行

        「ctrl」+「g」,列出所在行行号。

        「#G」:光标移致第#行。

4、Last line mode重要命令

        a)列出行号

        「set nu」:显示文本行号。

        b)跳到文件中的某一行

        「#」:光标移动到文本的第#行。

        c)查找字符

        「/关键字」:能定位到关键字所在位置。按「n」会往后继续查找。

        d)保存文件

        「w」:保存文件。

        e)离开vi

        「q!」:强行退出vi。

        「qw」:保存并退出。

        感谢关注“码农星球”。本文版权属于“码农星球”。我们提供咨询和培训服务,关于本文有任何困惑,请关注并联系我们。

转载于:https://www.cnblogs.com/luminji/p/10813287.html

你可能感兴趣的文章
Android 位置服务与GPS实时定位
查看>>
[LintCode] Serialize and Deserialize Binary Tree
查看>>
在主引导记录(MBR)的救援模式下如何重新安装GRUB引导装载程序
查看>>
从输入 URL 到页面加载完的过程中都发生了什么事情?
查看>>
Redis基础知识之—— 5个必须了解的事情【★★★★★】
查看>>
QCustomplot使用分享(二) 源码解读
查看>>
13-预处理指令
查看>>
java--------抽象类与接口的区别
查看>>
JS 遍历JSON中每个key值
查看>>
第十四周(OOP版电子词典)
查看>>
vue如何在路由跳转的时候更新组件
查看>>
Java多线程(二)
查看>>
《http权威指南》阅读笔记(七)
查看>>
在Eclipse中安装ADT
查看>>
[case48]聊聊flink的SocketClientSink
查看>>
怎样给Swagger换皮肤?
查看>>
网络协议 15 - P2P 协议:小种子大学问
查看>>
# 编写第一个Chrome Extension
查看>>
Python--Redis实战:第五章:使用Redis构建支持程序:第1节:使用Redis来记录日志...
查看>>
2019 简易Web开发指南
查看>>