vi常用命令

vi常用命令[toc]一、关于vi==========vi是最强大的文本编辑器,没有之一。尽管vi已经是古董级的软件,但还是有无数新人迎着困难去学习,可见其经典与受欢迎的程度。无论是小说中还是电视剧,真

大家好,又见面了,我是你们的朋友全栈君。

一、关于vi

vi是最强大的文本编辑器,没有之一。尽管 vi已经是古董级的软件,但还是有无数新人迎着困难去学习,可见其经典与受欢迎的程度。

无论是小说中还是电视剧,真正强大的武器都不容易驾驭,需要付出一些努力才能收获到更加强大的力量,对于vi这上古神器说更是如此。由于它全程使用键盘操作,很多首次接触
vi的人会觉得不习惯而中途放弃。然而,坚持下来的朋友就会渐渐地发现这种键盘操作的设计绝妙,经典之所以能成为经典,必然有它的道理,不用解释太多。

观察一个程序员对vi的熟练程度,可以判断它的技术水平,如果他对vi不熟悉,就肯定不是Linux平台下的程序员,说vi不好用的人也肯定不熟悉vi和Linux,没有例外。

二、创建/打开文件

vi 文件名

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

示例:

vi book.c

三、vi的三种模式

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

插入模式和替换模式也合称为编辑模式。

四、vi的常用命令

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

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

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

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

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

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

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

k 类似方向键上。

j 类似方向键下。

h 类似方向键左。

l 类是方向键右。

Ctrl+u 向上翻半页。

Ctrl+d 向下翻页。

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

G 光标跳到文件最后一行。

:5回车 光标跳到第5行。

:n回车 光标跳到第n行。

0 光标跳到当前行的行首。

$ 光标跳到当前行的行尾。

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

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

e 光标跳到本单词的尾部。

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

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

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

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

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

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

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

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

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

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

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

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

u 撤销命令,可多次撤销。

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

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

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

n 查找下一个。

N 查找上一下。

. 重复执行上一次执行的vi命令。

~ 对光标当前所在的位置的字符进行大小写转换。

列操作

Ctrl+V 光标上或下 大写的I 输入内容 Esc

: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

作者:码农有道

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155112.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月2日 下午8:36
下一篇 2022年7月2日 下午8:36


相关推荐

  • 从@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor开始了解Lombok插件

    从@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor开始了解Lombok插件接触 Lombok NoArgsConstr RequiredArgs AllArgsContr 是 Lombok 插件三种生成不同构造方法的注解 来完成项目中不同构造方法的需求 NoArgsConstr 生成一个无参数的构造方法 AllArgsContr 会生成一个包含所有变量 RequiredArgs

    2026年3月19日
    2
  • vue开发移动端app-学习记录

    vue开发移动端app-学习记录目录项目框架搭建连接真机调试打包 apk 发布 4Vuex 学习每一个 Vuex 应用的核心就是 store 仓库 store 基本上就是一个容器 它包含着你的应用中大部分的状态 state 你不能直接改变 store 中的状态 改变 store 中的状态的唯一途径就是显式地提交 commit mutation https vuex vuejs org zh guide npminstallvu 项目的适配因为移动端设备屏幕大小 屏幕比例什么的差别比较大

    2026年3月20日
    3
  • php 自带过滤和转义函数

    php 自带过滤和转义函数

    2021年10月22日
    44
  • Istio入门(dignity)

    1.简介在本教程中,我们将介绍服务网格的基础知识,并了解它如何实现分布式系统架构。我们将主要关注Istio,它是服务网格的一种具体实现。在此过程中,我们将介绍Istio的核心架构。2.什么是服务网格?在过去的几十年中,我们已经看到了单体应用程序开始拆分为较小的应用程序。此外,诸如Docker之类的容器化技术和诸如Kubernetes之类的编排系统加速了这一变化。尽管在像Kubernetes这样的分布式系统上采用微服务架构有许多优势,但它也具有相当的复杂性。由于分布式服务必须相互通信,因

    2022年4月18日
    44
  • endnote参考文献排版_Endnote 导入参考文献的时候,格式错误太多了。是否有什么解决办法?…[通俗易懂]

    我把style的链接放评论区了通常endnote的格式错误有两种:1、参考文献本身存在错误;2、参考文献导入模板不符合GB/T7714第一种好解决,导入的时候从WebOfScience和知网导入即可。第二种比较麻烦,正好我刚写完硕士毕业论文,总结一下(多图预警。。。),只看怎么修改符合GB的参考文献直接看第二部分。答主从本科毕业论文开始就一直使用endnote进行文献管理和参考文献录入,使用过…

    2022年4月14日
    271
  • java开发工程师—如何让你的简历脱颖而出

    java开发工程师—如何让你的简历脱颖而出nbsp 最近我在帮朋友的公司招人 招人的第一步是要筛选简历 在这过程中 我发现虽然能收到很多简历 但实际能通过筛选能进入到技术面试流程的简历不多 估计 10 份里不会超过 4 份能通过筛选 nbsp nbsp 如果没法通过技术面试 那么候选人尚且能收集面试题 回家继续准备 毕竟他和面试官也交流过 也不算没收获 但对于这些没法通过筛选的简历 简历的主人往往是无从得知的 公司不会主动通知 所以他们依然会混混沌沌 可以预想 在

    2026年3月16日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号