Linux的哲学思想之一谨记在心,一切皆文件,既然都是文件我们就需要有一款高大上且能处理文本文件的编辑器,vim完全满足你的要求。
所有类Unix系统都会内置vi文本编辑器,而其他编辑器不一定会内置,需要手动安装才能使用
在编辑文件时,vim会帮我们区分具体的字体颜色,可方便辨别语法的正确性,方便排错
还内置了许多快捷键,可以快速定位,快速编辑
作用:创建或删除、修改文件内容,维护Linux系统中的各种文件,如果你指定的文件不存在时,会创建一次新空白文件。
Vi:类Unix系统中默认使用的文本编辑器;
Vim:vi编辑器的增强版;
Vim编辑的工作模式
编辑模式(也叫命令模式)、输入模式、末行模式
命令模式切换到输入模式为a、i、o;
按键 | 功能 |
---|
a | 切换到光标之后开始输入 |
i | 切换到光标之前输入 |
o | 切换都下一行输入 |
A | 切换到行首开始输入 |
I | 切换到行尾开始输入 |
O | 切换到上一行开始输入 |
ESC | 返回命令模式 |
Shift + : | 命令模式切换到末行模式 |
ESC | 末行模式返回命令模式 |
Vim用法
一、打开文件
打开文件方式 | 作用域 |
---|
vim file | 打开文件定位行首,Ctrl+w 松开按 s:水平分割窗口 |
| Ctrl+w 松开按 v:垂直分割窗口 |
| Ctrl+w 松开按上下箭头:在窗口间切换光标 |
| 末行模式下 : qa,退出关闭所有窗口 |
vim +# | 打开文件,并定位于第#行 |
vim + | 打开文件,定位位置到最后一行 |
vim +/pattern | 打开文件,定位到第一次被pattern(模式)匹配到的行 |
Vim -o | 水平分割显示,Ctrl+w 松开按上下箭头,在窗口间切换光标 |
Vim -O | 垂直分割显示,Ctrl+w 松开按左右箭头,在窗口间切换光标 |
二、关闭文件
关闭文件方式 | 解释 |
---|
1、末行模式下关闭文件 | |
q | 退出 |
w | 保存 |
wq | 保存并退出 |
x | 保存并退出 |
q! | 不保存强制退出 |
w! | 强制保存 |
2、在编辑模式下退出 | |
ZZ | 保存并退出 |
@以下是在编辑模式下操作
三、移动光标
移动光标按键 | 解释 |
---|
1、逐字符移动 | |
h | 向左移动 |
l | 向右移动 |
j | 向下移动 |
k | 向上移动 |
#h | 向左移动#个字符,#j、#k、#l 相同 |
2、以单词为单位移动 | |
w | 跳下一个单词的词首 |
e | 跳至当前或下一个单词词首 |
b | 跳至当前或下一个单词词尾 |
#w | 跳至第#个单词词首,#e、#b 相同 |
3、行内跳转 | |
0 | 绝对行首 |
^ | 跳至行首的第一个非空白字符 |
$ | 绝对行尾 |
4、行间跳转 | |
#G | 跳至第#行 |
G | 最后一行 |
末行模式下直接给出行号敲回车即可 | |
四、翻屏
翻屏按键 | 解释 |
---|
Ctrl+f | 向下翻一屏 |
Ctrl+b | 向上翻一屏 |
Ctrl+d | 向下翻半屏 |
Ctrl+u | 向上翻半屏 |
五、删除单个字符
删除按键 | 解释 |
---|
x | 删除光标处的单个字符 |
#x | 删除光标处及向后的#个字符 |
六、删除命令:d
d命令可以和跳转命令组合使用
删除按键 | 解释 |
---|
#dw | 删除第#个单词,#de、#db |
dd | 删除当前光标所在行 |
#dd | 删除当前光标所在行至第#行 |
末行模式下 | Startline,endlined、例5,10d |
. | 表示当前行 |
$ | 最后一行 |
+# | 向下的第#行 |
七、复制命令:y
y 命令也可以和跳转命令组合使用
复制按键 | 解释 |
---|
#yw | 复制#个单词,#ye,#yb |
yy | 复制光标所在行 |
#yy | 复制光标所在行及向后的#行 |
八、粘贴命令:p
粘贴按键 | 解释 |
---|
p | 小写p,如果删除或复制为整行内容,则粘贴到光标所在行的下方,如果删除或复制的为非整行,则复制到光标坐在字符的后面 |
P | 大写p,如果删除或复制为整行内容,则粘贴到光标所在行的上方,如果删除或复制的为非整行,则复制到光标坐在字符的前面 |
Vim编辑器默认删除的文件保留在内存空间,使用p命令只能粘贴最近一次删除的内容
九、修改,先删除内容,再转为输入模式
c 命令可以和跳转命令组合使用
修改按键 | 解释 |
---|
#c | 删除#个单词后在当前位置转为输入模式 |
cc | 删除光标坐在行,然后转为输入模式 |
#cc | 删除光标所在行至第#行,然后转为输入模式 |
十、替换
替换按键 | 解释 |
---|
r | 在光标处输入r在输入其他字符完成替换 |
R | 替换模式,多次替换 |
十一、撤销操作
撤销键 | 解释 |
---|
u | 撤销前一次的编辑操作,连续u可取消N次编辑操作 |
#u | 直接撤销#次编辑操作 |
Ctrl+r | 撤销最近一次的撤销 |
十二、重复最近一次的操作
十三、可视化模式
按键 | 解释 |
---|
v | 小写v,按字符选取 |
V | 大写V,按矩形选取(按行) |
十四、查找
按键 | 解释 |
---|
/pattern | 从文件首部向尾部查找字符pattern |
?pattern | 从文件尾部向首部查找字符pattern |
n | 从光标处向后查找匹配到的字符 |
N | 从光标处向前查找匹配到的字符 |
@以下是在末行模式下操作
十五、查找并替换
输入 | 解释 |
---|
: s/a/b | 在当前行中找到的第一个a字符替换为b |
: s/a/b/g | 在当前行中找到的所有a字符替换为b |
: #,#s/a/b/g | 在行号“#,#”范围内替换所有a字符为b |
:%s/a/b/g | 在全文件中替换a字符为b |
: s/a/b/c | 在替换时提醒 |
十六、文件跳转
输入 | 解释 |
---|
: e /path/filename | 跳转并打开指定文件进行编辑 |
十七、写入文件
输入 | 解释 |
---|
: r /path/filename | 在当前文件中写入指定文件的内容 |
十八、将当前文件的内容填充到另一个文件中
输入 | 解释 |
---|
: w/path/to/somefile | 全文件保存至指定文件中 |
: add1,add2 w/path/to/somefile | 将指定add1至add2行中间的内容保存至指定文件中 |
十九、使用vim编辑多个文件
Vim file1 file2 file3
输入 | 解释 |
---|
: next | 切换到下一个文件 |
: prev | 切换到上一个文件 |
: last | 切换到最后一个文件 |
: first | 切换到第一个文件 |
: qa | 退出全部文件 |
二十、和shell交互
二十一、高级话题
输入 | 解释 |
---|
: set nu | 为每行添加行号 |
: set nonu | 取消行号显示 |
: set ic | 忽略大小写 |
: set noic | 取消忽略 |
: set ai | 设置自动缩进 |
: set noai | 取消自动缩进 |
: set paste | 上面的取消自动缩进不管用的话就用这个 |
: et hlsearch | 查找到的文件高亮显示 |
: et nohlsearch | 找到的文件高亮取消 |
: set on | 启语法高亮 |
: set off | 闭语法高亮 |
Vim配置文件
/etc/vimrc:全局配置文件
设置行号、缩进等一类设置,在新建行添加自己所需即可,只有管理员用户可修改全局配置文件
~/.vimrc:个人配置文件
只对当前用户家目录文件有效,如果没有该文件自己创建,填写内容即可。
希望对您有所帮助!!!
努力!奋斗!