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用于测试搜索
-
/string 用于向下搜索一个字符串
当然,如果需要接着向下搜索第二个str,则需按下键盘的’n’键就可以了,如上图我就是按下了‘n’键光标才跳到第二个str那里的。 -
?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用于测试
例如:
- 将全文的每行第一个str替换为string
命令::%s/str/string
使用命令 :set nu 可以显示行号!
- 将15行 - 21行的第一个string修改为str
命令::15,21s/string/str
- 将第25行至最后的第一个string替换为str
命令::25,$s/string/str
- 将全文的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的主要内容,如果未能解决你的问题,请参考以下文章