您的位置:首页 > 健康 > 养生 > Linux---04---Vim编辑器

Linux---04---Vim编辑器

2024/12/23 16:10:26 来源:https://blog.csdn.net/dys000000/article/details/141210142  浏览:    关键词:Linux---04---Vim编辑器

一、vi/vim编辑器介绍

vi 是 visual interface 的简称,是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本。

vim 是 vi 的加强版本,兼容 vi 的所有指令,不仅能编辑文本,而且还具有 shell 程序编辑的功能,可以不同颜色的字体来辩别语法的正确性,极大方便了程序的设计和编辑性。

安装vim

yum -y install vim

1.1 工作模式

vi编辑器有3种模式:命令模式、输入模式、底行模式(也叫底线命令模式)。

  • 命令模式:使用 vi 编辑器时,默认处在命令模式。该模式下,所敲的按键都被编辑器理解为命令,以命令驱动执行不同的功能。此模式下,不能自由进行文本编辑。

  • 输入模式:在这个模式中我们可以编辑、修改、输入等编辑工作,在编辑器最后一行显示一个“--INSERT--”标志着vi进入了输入模式。当完成修改输入等操作需要保存文件,需要先返回命令模式,在进入末行模式保存。

  • 底行模式:在命令模式下输入英文的冒号 :即可进入底行模式,通常用于文件的保存、退出。

vi三种模式的关系

命令模式相当于一个中转站,即无论当前处于何种模式,都可通过按 Esc 键进入命令模式中,再根据所需继续完成后续操作。

1.2 编辑文件

命令格式:

vi 文件路径
vim 文件路径
  • 如果文件路径表示的文件不存在,那么此命令会用于编辑新文件

  • 如果文件路径表示的文件存在,那么此命令用于编辑已有文件

1.3 保存和退出

q quit

底行命令作用
:w保存(只是对当前文件进行保存操作,并没有退出这个文件)
:q退出,注意文件必须先保存,然后才能退出
:wq保存并退出
:q!强制退出(此时文件未保存)

已有文件

一般情况下,编辑完文件后,使用:wq保存并退出文

新文件

如果文件已经有文件名,在末行模式直接输入w保存,如果没有文件名,输入w 文件名进行保存。

\

另存为

那么在vi中也可以另存为,就是在保存完以后,再使用w 另存为文件名。

1.4 光标的移动

光标方向的移动,除了可以使用方向键,还可以使用以下命令 :

向上移动光标:k

向左移动光标:h

向右移动光标:l  

向下移动光标:j

1.5 翻页命令kk

Ctrl+F向前翻整页

Ctrl+B向后翻整页

Ctrl+U向前翻半页  

Ctrl+D向后翻半页

1.6 行内快数跳转

^移动到本行行首  

$移动到本行行尾

1.7 显示行号和取消行号(底行模式使用)

set nu显示行号  

set nonu取消行号

1.8 在命令模式下,使用以下命令可以快速的在行间跳转

gg跳转到文件首行  

G跳转到尾行  

G跳转到文件的#行

二、编辑操作

2.1 进入输入模式命令

i 插入命令

a 附加命令

o 打开命令

c 修改命令  

r 取代命令

s 替换命令

Esc 退出命令

2.2 输入模式的操作

Home光标到行首

End 光标到行尾  

Page Up和Page Down上下翻页

Delect删除光标位置的字符

2.3 删除操作(命令模式使用)

x删除光标处的单个字符  

dd删除光标所在行  

dw删除当前字符到单词尾包括空格的所有字符

x例如3x删除光标处向右的三个字符  

dd例如3dd从当前行开始向下删除三行文本  

2.4 撤销操作

u命令取消最近一次的操作,可以使用多次来恢复原有的操作

U取消所有操作  

Ctrl+R可以恢复对使用u命令的操作  

2.5 复制操作

yy命令复制当前整行的内容到vi缓冲区  

yw复制当前光标所在位置到单词尾字符的内容到vi缓存区,相当于复制一个单词  

y$复制光标所在位置到行尾内容到缓存区   

y^复制光标所在位置到行首内容到缓存区  

yy例如:5yy就是复制5行  

yw例如:2yw就是复制两个单词  

如果要复制第m行到第n行之间的内容,可以在末行模式中输入m,ny例如:3,5y复制第三行到第五行内容到缓存区。

2.6 搜索和替换

在vim/gvim的命令模式,按“/”或者“?”后面跟所要搜索的内容,然后按回车开启搜索:

/str
?str

进入搜索模式后,按“n”表示寻找下一个,按“N”(shift + n)表示寻找上一个。

2.6.1 模糊搜索

/\<world\>

2.6.2 忽略大小写的搜索

缺省条件下vim的搜索是case-sensitive(大小敏感的) ,可以用属性“\c”来告诉vim在搜索时忽略大小写

/\<pattern\>\c
​
/ll\c

2.6.3 高亮搜索结果

:set hlsearch
:set nohlsearch

2.6.4 替换

「r」:替换光标所在处的字符。 ,按一下"r"然后输入要即可.

「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

恢复上一次操作

「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。

按多次"u"可以执行多次恢复.就相当于"CTRL +Z"的操作.

在命令模式下使用“s/原字符/新字符/g” 代表当前行所有

如果想全局替换,s变为%s

:%s/原字符/新字符/g

:%s/ll/xx/g

2.7 异常退出恢复文件

异常退出:指的是在编辑文件之后没有正常的保存退出,而是通过直接关闭终端或者强制退出的方式来退出文件。

vi在编辑某一个文件时,会生成一个临时文件,这个文件以 . 开头并以 .swp结尾。正常退出该文件自动删除,如果意外退出例如忽然断电,该文件不会删除,在下次编辑时会显示下图的效果:

  • O只读打开,不改变文件内容  

  • E继续编辑文件,不恢复.swp文件保存的内容  

  • R将恢复上次编辑以后未保存文件内容  

  • Q退出vi  

  • D删除.swp文件  

  • 或者使用vi -r 文件名来恢复未保存的内容

方式二

只需要将交换文件删除即可正常编辑文件了 (在上述的提示界面下按 D 键或通过 rm 指定删除交换文件)

rm -rf 文件名

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com