Linux Vi 文本编辑器常用命令

Linux Vi 文本编辑器常用命令*LinuxVi文本编辑器常用命令**引言:在Linux中我们常用的文本编辑器有Vi,Vim(Vi的增强版)。而且vi编辑器不仅仅是适用于Linux,它是所有Unix以及Linux系统下的标准编辑器,几乎适用于Unix、Linux系统的所有版本。vi或vim虽然没有Windows操作系统中的图形界面编辑器那样点鼠标的简单操作,但vi编辑器在系统管理、服务器管理字符界面中,永远不是图形界面的编辑器能比的。它能轻易地创建和修改文本文件,维护Linux系统中的配置文件。其实刚开始的时候我也觉得很不习…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

*Linux Vi 文本编辑器常用命令

**
引言:在Linux中我们常用的文本编辑器有Vi,Vim(Vi的增强版)。而且vi编辑器不仅仅是适用于Linux,它是所有Unix以及Linux系统下的标准编辑器,几乎适用于Unix、Linux系统的所有版本。vi或vim虽然没有Windows操作系统中的图形界面编辑器那样点鼠标的简单操作,但vi编辑器在系统管理、服务器管理字符界面中,永远不是图形界面的编辑器能比的。它能轻易地创建和修改文本文件,维护Linux系统中的配置文件。其实刚开始的时候我也觉得很不习惯,但是用的多了渐渐就熟悉了。个人觉得掌握这些命令没有必要刻意的记忆,遇到不会的查找一下表就好了,用的多了自然就记得了。

首先介绍一下主要内容:
Vi编辑器三种工作模式
1、命令模式(command mode):
控制屏幕光标的移动,字符,子或行的删除,移动,复制到某区段。以及起到插入模式(Insert mode)和末行模式(last line mode)的桥梁作用。
2、插入模式 (Insert mode):
只有在插入模式下才可以进行文字输入,按[ESC]键可以退回到命令模式。
3、末行模式(last line mode):
将文件保存或者退出Vi,也可以设置插入环境,如:寻找字符串,行号等。
4、三种模式之间的切换
注意:三种模式之间不是任意切换的,只有在命令模式下才可以进入插入模式和末行模式。

在这里插入图片描述按[a]键进入插入模式后,是当前光标所在位置之后开始输入文字;
按[i]键进入插入模式后, 是当前光标所在位置之前开始输入文件;
按[o]键进入插入模式后,是在光标所在位置下一行添加新的一行,从行首开始输入文字;
按[O]键进入插入模式后,是在光标所在位置上一行添加新的一行,从行首开始输入文字;
按[r]键替换当前光标所在位置的字符;
按[R]键可以替换当前光标所在位置之后的字符。

5、保存或者退出编辑器
:q 退出而且不保存修改的内容
:q! 强制退出不保存修改的内容
:wq 退出并且保存修改的内容
:wq! 强制保存修改的内容然后退出(修改了只读文件会用到)

6、光标移动命令
对于我而言,比较喜欢上下左右方向键,字母 h (左) ,j (下), k(上),l(右)也是可以的但是总感觉有点奇怪(题外话:可能是单机游戏打多了)
^ 光标移到行首
$ 光标移到行尾
shift+g 光标移动到文件最后一行
gg 光标移动到文件第一行

7、控制命令
打开一个内容很多的文件的时候经常用到。
Ctrl+d 向下滚半屏
Ctrl+u 向上滚半屏
Ctrl+f 向下滚全屏
Ctrl+b 向上滚全屏

8、编辑命令
主要是进入编辑状态,也就是insert状态
i 光标当前位置开始编辑
o 光标的下一行开始编辑
shift+o 光标的上一行开始编辑

9、删除命令
dd 删除一行,可以带个数字,如6dd,表示向下删除6行
d$ 删除光标到行尾的内容(也可以使用ctrl+d)
d^ 删除光标到行首的内容
x 删除光标位置的字符(向后删除)
shift+x 删除光标位置的字符(向前删除)

10、查找命令
/String 查找一个字符串(向下开始)
?String 查找一个字符串(向上开始)
n 向后查找下一个
shift+n 向前查找下一个

11、粘贴复制命令
yw 复制一个单词
yy 复制一行,和删除dd一样可以带个数字,6yy复制六行(向下复制6行)
p 粘贴到光标位置的下一行
shift+p 粘贴到光标位置的上一行

12、同时打开两个文件
比如:aa.txt ss.txt
打开第一个文件vi aa.txt然后输入下面的命令
:sp ss.txt 此时就在同一个窗口打开另外一个ss.txt
Ctrl+w 进行两个文件上下窗口切换(需要再按上下方向键)

13、其他常用命令
:e! 重新加载文件,再查看日志文件的时候可以用,不断在变化的文件。
shift+j 将下一行拼接到上一行
u 撤销
:set nu 显示行号
:set nonu 取消显示行号
:n 跳转到第n行(按回车才会跳)
Ctrl+g 会在显示屏的底部显示文件名字和总的行数,当前光标的位置行号
~ 这个将会改变光标位置的字符的大小写
Ctrl +a 跳到当前命令行里的首位,比如 cd /etc/profile ,这个是一个文件,我想改成vi /etc/profile 就可以按 ctrl+a 光标就会移到cd位置,如果碰到比较长的命令,这个还是非常的实用的
ctrl+e 跳到当前命令行的末尾。和ctrl+a 相反

以上就是我归纳的一些常用的指令,如有一些不当的地方还望指正。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 取反是什么意思_1取反是多少

    取反是什么意思_1取反是多少很多编程语言使用~作为一元按位取反(NOT)操作符,Go重用^XOR操作符来按位取反://错误的取反操作funcmain(){fmt.Println(~2)//bitwisecomplementoperatoris^}//正确示例funcmain(){varduint8=2fmt.Printf(“%08b\n”,d)//00000010fmt.Printf(“%08b\n”

    2022年8月14日
    9
  • linux 搜狗输入法包名,搜狗输入法[通俗易懂]

    linux 搜狗输入法包名,搜狗输入法[通俗易懂]应用介绍搜狗输入法,拥有高效优质中文词库,输入更加准确,智能。搜狗智能旺仔带你用AI表达,斗图,妙语,输入更加有趣。******特色功能******【搜狗专属高效词库】搜狗多年积累,百万级中文系统词库,输入首选更准确【优选云词库】新词汇、热门网络语、热门流行语、饭圈新密语实时更新,跟上时髦的你【智能长句输入】只需输入几个字母,就能猜中你要说的话,准确补全,省时省力【AI智能汪仔】AI输入用搜狗,智…

    2022年7月26日
    3
  • vmware虚拟机(四)之安装centos7图形界面Linux

    vmware虚拟机(四)之安装centos7图形界面Linux1.创建新的虚拟机2.根据提示一步一步操作,这里可以选择推荐的,也可以选择自定义3.虚拟机硬件兼容性一般选择默认的,即次虚拟机支持的最新版本,下面是一些兼容产品和限制,此虚拟机可安装的最大内存为64GB,处理器数目最多为16个。。。。4.为了练习安装Linux操作系统,我们选择稍后安装操作系统5.根据自己需要的操作系统版本选择,这里我们选择centos64位的Linux6.虚…

    2022年5月27日
    39
  • java标识符命名_java标识符命名规则「建议收藏」

    java标识符命名_java标识符命名规则「建议收藏」1.标识符概念:对于java中的类、接口、变量、常量、方法、属性等等命名的字段被称作标识符。通俗的说就是起名字的地方就是标示符。2标识符命名规则:(1).标识符一般有字母、数字、下划线_、美元符$、人民币符号¥组成。(2).注意数字不能放开头(3).不能把java关键字(例如publicint)作为标识符(4).不能把java保留字(goto,const)作为标识符(5).标识符没有长度限制,并…

    2022年7月26日
    8
  • 动态规划之0-1背包问题(详解+分析+原码)

    动态规划之0-1背包问题(详解+分析+原码)本篇文章将介绍算法专题之动态规划中的背包问题,更准确的说是背包问题中最简单的一种类型,即0-1背包问题,就是给你一定容量的背包和若干物品,每种物品只能选一次,告诉你每件物品的价值和体积,求背包里面物品的最大总价值。

    2022年7月26日
    6
  • hive数据类型转换cast_sql数据类型转换convert

    hive数据类型转换cast_sql数据类型转换convert首先看一下类型转换表(来自https://www.iteblog.com/archives/892.html)我们可以用CAST来显式的将一个类型的数据转换成另一个数据类型。如何使用?CAST的语法为cast(valueASTYPE)。举个例子:假如我们一个员工表employees,其中有name、salary等字段;salary是字符串类型的。有如下的查询:SELECTname,sa…

    2022年9月21日
    2

发表回复

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

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