Linux

Stella981
• 阅读 543

初识 vi/vim 文本编辑器

1.vi 和 vim 相同,都是文本编辑器,在 vi 模式下可以查看文本,编辑文本,是 Linux 最常用的命令,vi 模式下分为三部分,第一部分一般模式,在一般模式中可以进行搜索字符等按键操作,按下 i,o,a任意一个字符就可以进入编辑模式,按 ESC 回到一般模式,编辑模式下可以对文本内容进行编辑,按下 : ,/ ,?可以进入命令行模式,可以选择按 wq 保存退出等命令操作,详细内容如下。

vi 按键表

1.一般模式

光标的移动

按  键

意  义

h 或 ←

光标向左移动一个字符,可跟数字组合,如10 ←或h 代表向左移动10个字符

j 或 ↓

光标向下移动一个字符,可跟数字组合

k 或 ↑

光标向上移动一个字符,可跟数字组合

i 或 →

光标向右移动一个字符,可跟数字组合

[page up] 或

[ctrl]+b

上一页

[page down] 或 [ctrl]+f

下一页

[ctrl]+d

向下移动半页

[ctrl]+u

向上移动半页

光标移动到非空格的下一行

-

光标移动到非空格的上一行

n+[space]

输入数字后按下空格代表向右移动 n 个字符

0 或 [Home]

光标移动到行首

$ 或 [End]

光标移动到行尾

H

光标移动到屏幕显示的第一行的第一个字符处

M

光标移动到屏幕显示的中间行的第一个字符处

L

光标移动到屏幕显示的最后一行的第一个字符处

G

移动到文本的最后一行

n+G

移到文本的第n行

gg

移动到文本的第一行

n+[Enter]

光标向下移动n 行

搜索操作

按  键

意  义

/字符串

向下搜索字符串

?字符串

向上搜索字符串

n

向下查找符合搜索的字符

N

反向查找符合搜索的字符

:n1,n2s/string1/string2/g

在n1和n2之间搜索string1字符串,并将 string1替换为 string 2

:1,$s/string1/string2/g

在第一行和最后一行搜索 string1字符串,并将 string1替换为 string 2

:1,$s/string1/string2/gc

在第一行和最后一行搜索 string1字符串,并将 string1替换为 string 2,替换前需要客户确认( replace with string2 (y/n/a/q/l/^E/^Y)?)

删除/复制/粘贴等操作

按  键

意  义

x 或 X

x代表向后删除一个字符[del],X代表向前删除一个字符[backspace]

nx

向后连续删除n个字符

dd

删除光标所在的一行

ndd

删除光标向下的n行(包括光标所在的一行)

d1G

删除光标所在的一行到第一行的内容

dG

删除光标所在的一行到最后一行的内容

d$

删除光标所在的字符到这一行的最后一个字符的内容

d0

删除这一行的第一个字符到光标所在字符的内容

yy

复制光标所在的一行

nyy

复制光标所在的一行到第n行的内容

y1G

复制光标所在的一行到第一行的内容

yG

复制光标所在的一行到最后一行的内容

y0

复制光标所在的字符到行首的字符

y$

复制光标所在的字符到行尾的字符

p

将光标在的那一行内容复制粘贴到下一行

P

将光标在的那一行内容复制粘贴到上一行

u

复原操作,相当于撤回

.

重复上一个操作

c

重复删除多个数据,例如向下删除3行[10cj]

[ctrl]+r

重做上一个动作

J

将光标所在的一行与下一行结合

2.编辑模式

按  键

意  义

i

进入编辑模式

a

进入编辑模式

o

进入编辑模式

 r

进入编辑模式

[ESB]

退出编辑模式,进入一般模式

3.命令行模式

按  键

意  义

:w

将编辑的数据写入磁盘

:w!

强行写入

:q

离开

:q!

不保存强制离开

:wq

保存并退出

ZZ

如果有改动则保存退出,如果没有改动就直接退出

:w[filename]

将编辑的内容另存为 filename 文件

:r[filename]

将filename的内容加载进光标后

:n1,n2 w[filwname]

将n1到n2的内容保存为 filename

:!command

暂时回到命令模式,执行 command 命令

:set nu

设置行号

:set nonu

取消行号

Linux-- 文件编辑器 vi/vim(2)内容见:

https://www.cnblogs.com/holmes-cat/p/10408735.html

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
2年前
vim介绍 、 vim颜色显示和移动光标 、vim一般模式下移动光标 、vim一般模式下复制、剪切和粘贴
vim是什么vim是什么?在之前接触Linux,编辑网卡配置文件的时候我们用过了vi,vim简单说就是vi的升级版,它跟vi一样是Linux系统中的一个文本编辑工具。如果系统中没有vim,需要安装一下:yuminstallyvimenhanced安装完了之后就可以正常使用了。我们使用vi和vim打开/e
Wesley13 Wesley13
2年前
vi 编辑器
Linux下的文本编辑器有很多种,vi是最常用的,也是各版本Linux的标配注意,vi仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像Windows下的word有排版功能Vim是Viimproved的缩写,是vi的改进版。在Linux中,vi被认为是事实上的标准编辑器,因为:所有版本
Stella981 Stella981
2年前
Linux学习:vim程序编辑器
本次记录vim这款文本编辑器的使用方法及它有哪些使用实例等。基本概念在Linux环境中,配置文件对整个系统来说具有举足轻重的作用,而对于其都是以ASCII的纯文本形式存在,而利用文本编辑器就能够达到方便修改配置的目的。vi是UNIX操作系统和UNIXLike操作系统中最通用的全屏幕纯文本编辑器。而Linux中的vi编辑器叫v
Stella981 Stella981
2年前
SHELL编程四剑客之Sed工具
SED是一个非交互式文本编辑器,它可对文本文件和标准输入进行编辑,标准输入可以来自键盘输入、文本重定向、字符串、变量,甚至来自于管道的文本。Sed工具在处理文本时默认把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace)。如果要将变化写入磁盘、文件需要使用i参数。sed命令语法参数格式:sed参数‘sed内置命令字符‘
Stella981 Stella981
2年前
Linux中vim编辑器常用命令、文件查找、磁盘挂载、用户管理
Vim介绍Vim是全屏幕纯文本编辑器,是vi编辑器的升级版。vim不仅仅兼容vi所有的命令,而且高亮显示,vi只能运行在UNIX和Linux中,而vim可以跨平台运行在Windows,MACOS中。vim号称“编辑器之神”,具有无可匹敌的可扩展性。大部分Linux系统中,默认都会安装vim,在L
Stella981 Stella981
2年前
Linux中vim文本编辑器的介绍和使用方法
vim主要模式介绍,vim命令模式。确保系统已经安装了VIM工具\root@panda~\rpmqf\whichvim\\root@panda~\rpmqf\whichvi\扩展:问:vi和vim是同一个软件包安装的吗?答:NO,vim是vi的增加版,最明显的区别就是vim可以语法加亮,它完
Wesley13 Wesley13
2年前
5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴 5.5 进入编辑模式 5.6 vim命令
vim命令vim和vi几乎是一样的,唯一的区别就是当编辑一个文本时,使用vi不会显示颜色,而使用vim会显示颜色。vim有三个模式:一般模式,编辑模式,命令模式。系统最小化安装时没有安装vim命令,需要自己使用yum进行安装:root@cham2~yuminstallyvimenhanced
Stella981 Stella981
2年前
Linux基本命令 vim命令(二)
LinuxVim显示行号在命令模式下输入":"进入编辑模式后执行setnu命令即可显示每一行的行号,如果想要取消行号,则再次输入":setnonu"即可。如果希望每次打开文件都默认显示行号,则可以编辑Vim的配置文件。每次使用Vim打开文件时,Vim都会到当前登录用户的宿主目录(用户配置文件所在地)中读取.vi
Wesley13 Wesley13
2年前
Vim使用技巧及基本命令分类
Vim有三种模式,命令模式、插入模式、低行模式有vi进入文件后就是命令模式,接着输入a或i或o 进入插入模式,接着按Esc回到命令模式,然后输入:进入低行模式。插入命令a(后 )在光标后插入A(尾 )在光标所在行尾插入i(前 )在光标前插入I(首 )在光标所在行首插入o(下 )