Linux 编辑器: vim

Posted cpp_learners

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 编辑器: vim相关的知识,希望对你有一定的参考价值。

学习Linux系统的第四篇博客:学习如何修改文件中的内容。



vim 是UNIX 和 Linux 上标配的编辑器,功能十分强大。
用法 :
vim 文件名

例如:
vim test.txt

当按下回车后,就会自动进入该文件了,如果是没有该文件的,vim也会自动创建该文件,如下图:

现在默认进入的是命令模式,可以按 a 或 i 或 o 进入插入模式

他一共有两种模式:插入模式命令模式



一、插入模式

操作:输入字符,并且可以按光标键移动输入字符位置.

命令操作
a在光标后插入
i在光标所在位置插入
o在光标所在位置的下一行插入
Esc进入命令模式
:进入行命令模式

当然你按其他键是没有效果,例如按下b、c、d…等等,需要进入到插入模式才能进行插入操作。

如果需要进入插入模式,按下a键或者i键或者o键时:

他就自动进入到插入模式了。

进入插入模式后就可以进行编辑文件了。

例如:



二、命令模式

执行除输入字符之外的所有操作,包括保存、搜索、移动光标等。

vim 启动默认是在命令模式,如果在编辑模式,需要按 Esc 切换回命令模式。

可以使用光标键控制上下左右移动,或者 h、j、k、l移动。

1. 保存和退出

保存文件、退出等需要切换到行命令模式,在插入模式下输入 Esc 再 输入
:w :q 或 :wq 等。

前提:须切换到命令模式。注意组合命令执行的顺序:w ->q ->!

命令操作
:w保存文件
:w 文件名另存为文件名
:q退出Vim
:q!强行退出,放弃保存

1)例如,保存我们刚刚写的文件
命令::w
首先按一下esc键从插入模式切换到命令模式

按下回车键后

2)如果需要退出呢?
命令::q

按下回车键后

3)如果进行了文件编辑,而没有保存文件进行退出会怎么样?

如同上面的顺序得出的结果,他是不允许这样操作的,除非你先保存再进行退出,或者使用组合键 :wq 进行保存退出;再或者直接不保存,输入 q! 键进行强制退出。


2. 搜索字符串

前提:须切换到命令模式

/string 用于向下搜索一个字符串
?string 用于向上搜索一个字符串

例如:
我们在刚才的那个文件上加入很多个str用于测试搜索

  1. /string 用于向下搜索一个字符串

    当然,如果需要接着向下搜索第二个str,则需按下键盘的’n’键就可以了,如上图我就是按下了‘n’键光标才跳到第二个str那里的。

  2. ?string 用于向上搜索一个字符串

    向上搜索也是一样的,按下‘n’键后,就会往上再搜索一个str出来。

如果需要启动或关闭大小写敏感,执行:
:set ignorecase == > 这个是关闭大小写敏感

:set noignorecase == > 这个是启动大小写敏感

默认他是启动大小写敏感的!


3. 替换字符串

前提:须切换到命令模式。

语法 : :[range]s/pattern/string/[c、e、g、i]

这条命令将 pattern 所代表的字符串替换成 string。开头的range 用于指定替换作用的范围,如“1,10” 表示从第1行到第10行,“1,$”表示从第1行到最后一行,也就是全文。全文也可以用 “%” 表示。

最后的方括号是可选选项,含义如下:

标志含义
c每次替换前询问
e不显示错误信息
g替换一行中的所有匹配项(这个选项通常需要使用)
i不区分大小写

首先还是打开刚才的那个文件,在一行中插入多个str用于测试

例如:

  1. 将全文的每行第一个str替换为string
    命令::%s/str/string

使用命令 :set nu 可以显示行号!

  1. 将15行 - 21行的第一个string修改为str
    命令::15,21s/string/str
  2. 将第25行至最后的第一个string替换为str
    命令::25,$s/string/str
  3. 将全文的str都替换为string
    命令::%s/str/string/g

4. 删除、复制、粘贴

前提:须切换到命令模式。

命令操作
x删除光标所在位置的字符
dd删除光标所在的行, 2 dd 表示删除2行
D删除光标所在位置到行尾之间所有的字符
d普遍意义上的删除命令,和移动命令配合使用。例如dw 表示删除光标所在位置到下一单词词头之间所有的字符
yy复制光标所在的行
y普遍意义上的复制命令,和移动命令配合使用。例如yw表示父子光标所在位置到下一个单词词头之间所有的字符
p在光标所在位置粘贴最近复制/删除的内容

5.撤销和重做

前提:须切换到命令模式。

命令操作
u撤销一次操作
ctrl+r重做被撤销的操作

6.程序员特有配置

:syntax on —> 语法高亮
:set autoindent —> 自动缩进
:set shiftwidth=4 —> 设置Tab 键对应的空格数



三、总结

vim还是很好用的,他就像windows下的文本文档一样,也可以在上面进行写代码等等,就是什么都得使用命令行去操作,有点麻烦…

以上是关于Linux 编辑器: vim的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统 vi/vim文本编辑器

linux vim安装

Linux下vim编辑器命令大全

2023.5.27 linux系统VIM编辑

Linux中VIM编辑器的使用

Linux vim编辑器使用详解