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交互
输入 |
解释 |
: ! Command |
输入命令回车即可 |
二十一、高级话题
输入 |
解释 |
: set nu |
为每行添加行号 |
: set nonu |
取消行号显示 |
: set ic |
忽略大小写 |
: set noic |
取消忽略 |
: set ai |
设置自动缩进 |
: set noai |
取消自动缩进 |
: et hlsearch |
查找到的文件高亮显示 |
: et nohlsearch |
找到的文件高亮取消 |
: set on |
启语法高亮 |
: set off |
闭语法高亮 |
Vim配置文件
/etc/vimrc:全局配置文件
设置行号、缩进等一类设置,在新建行添加自己所需即可,只有管理员用户可修改全局配置文件
~/.vimrc:个人配置文件
只对当前用户家目录文件有效,如果没有该文件自己创建,填写内容即可。
希望对您有所帮助!!!