距离上次Linux的学习,今天又是一个崭新的起点,我们用五天的时间学了一些Linux一些常用的操作命令,但掌握这些还是远远不够的,这个世界就是这样,将生于此,既是幸运也是不幸,只有不断地学习才能有自己的一席之地,话不多说,开始我们今天的Linux学习之旅。
目录
1. Vim命令简介
1.什么是Vim
2.Vim的三种模式
3.如何使用Vim
4.学前思想指导-少走弯路【重要++急】
2.Vim常用命令
1.插入命令
2.定位命令
3.删除命令
4.复制与剪切命令
5.替换和取消命令
6.搜索和搜索替换命令
7.保存和退出命令
3.Vim使用技巧
1.使用Vim向文件导入其他文件内容
2.使用vim向文件导入命令的执行结果
3.创建map快捷键触发命令
4.多行注释
5.ab-快捷键
Vim(vi improved),是Linux系统中提供的编辑器,它是vi的增强版本,与vi向上兼容。通常,在LInux中用到的vi实际上是Vim,即使输入命令时输入的是vi,但是使用的仍然是vim。
功能描述:建立、编辑、显示文本
语 法:vi 需要操作的文件【如果vi后面的文件不存在,则会自动创建】
在详细介绍Vim之前,我想给大家简单介绍一下Vim的使用流程,让大家少走些弯路【TT本人学习就走了些弯路】。
使用vim直接在命令行输入【vi 文件名】就可以直接启动vim,如果文件不存在,则会创建这个文件,不管这个文件是存在还是不存在,进入后默认的模式就是命令模式,在里面输入的任何字符都会被当作命令,当然如果你输入的字符不是命令,那么它没有任何反应,会等待你输入正确的命令为止,如上图所示,因为你当前默认模式为命令模式,如果你想编辑文本就可以输入【a、i、o三个插入命令】进入插入模式,在这里面就可以在文件中编辑你想编辑的内容,如果编辑完成了按【ESC】键退出插入模式,退出后会返回命令模式。如果你还想编辑文件的格式来方便你查看内容,那么按【:】就会进入编辑模式,在“:”后面输入相关的编辑模式命令再按回车就会执行,比如你想把文件的内容设置为行号显示,在命令模式下输入【:set num】就可以了。命令模式进入插入模式是可以直接再命令模式中输入a、i、o插入命令即可,其实通俗上来说它们也属于命令模式的命令,但是编辑模式需要先输入【:】才可以输入编辑命令,所以下面我们要讲的命令也是就是编辑命令与命令模式的命令。vim的使用大体就是这样,一些常用的命令我会在下面给大家介绍,不要着急,把这段内容看懂对你学下面的内容非常有帮助,切记切记,磨刀不误砍柴工。
最后给大家讲一个非常坑爹的问题,如果你想退出这个文件,像上图所示,按wq,注意!!!,这个wq不是直接在命令模式中敲,它属于编辑模式的命令,要先进入编辑模式再敲wq【:wq】才可以退出(TT学习时一直无法退出文件,耽误不少时间)
下面的命令是编辑命令与命令模式中的命令混合讲解,不要难以理解,只要你看到【:】开头的就是在编辑模式中使用的命令,没有【:】就是命令模式中使用的命令
在进入命令模式后,可以直接子命令模式下输入以下命令编辑文本
A :在光标所在的行行尾插入
a :在光标所在的字符后插入
I :在光标所在的行行首插入
i :在光标所在的字符前插入
O :在光标上插入新行
o :在光标下插入新行
每输入一个命令都会执行到相应的位置让你输入内容,输入内容时候左下角会出现【INSERT】表示你当前在插入模式,如果想要在其他位置编辑内容需要先按【ESC】退出这个命令,再输入其他命令重写进入插入模式,例如你输入O在光标上面插入了一个新行,输入了你要输入的内容,那么你现在又想插入一个新行需要先按ESC先退出再输入命令才可以。很显然,这样非常的麻烦,那么看看下面的注意
注意:【重要--少走弯路看过来】
上面说的那都是理论上的,其实只要你输入a、i、o三个任何一个命令进入插入模式后,就不再需要像上面那样麻烦的操作,我们可以按键盘上的上下左右四个键位控制光标的位置,在相应的地方输入内容,也可以按回车插入新行,删除内容只需要按删除键即可,这样是不是很方便了呢
//模式命令
:set nu :设置行号
:set nonu :取消行号
:n :到第n行
//命令模式命令
gg :到第一行
G :到最后一行
nG :到第n行
0 :移至行首
$ :移至行尾
注意:后面这几个命令记不住也没关系,前面三个已经足以应对各种大文件我们对内容的操作
x :删除光标处所在的内容
nx :删除光标后的n个字符
dd :删除光标所在行
ndd :删除光标所在行后的n行
dG :删除光标所在行到文件末尾的内容
D :删除光标所在处到行尾的内容
:n1,n2d :删除指定范围的行
删除命令与插入命令都是编辑文本,不同的是删除命令可以在命令模式下查看内容的时候直接删除,无需进入插入模式再进行删除
yy :复制当前光标所在的行
nyy :复制当前行以下n行
dd :剪切当前行
ndd :剪切当前行以下n行
p或P:粘贴在当前光标所在行行上或行下
r :替换光标处的所在内容【先按r再输入替换字符】
R :从光标所在处开始向后替换内容【先按R再输入日换字符】,按ESC结束
u :取消上一步操作
同样,这三个命令可以在不进入插入模式的情况下直接修改文本,简略了不少步骤
/'内容' :搜索指定字符串
:set ic :设置搜索时候忽略大小写
:set noic :设置搜索时不忽略大小写【默认严格区分大小写】
搜索命令最常用的就是查找到内容然后将其替换
语法格式: :%【起始行】,【终止行】s/要替换的字符串/替换后的新字符串/g或者c
g表示替换时不询问
c表示替换时询问是否替换
:w :保存修改的内容
:w 文件名 :另存为指定路径
:wq :保存修改并退出【常用的】
:q! :不保存修改并退出【发现内容改错时】
:wq! :强制保存修改并退出,用于文件只有读权限时候使用【只有root与文件所有者可以使用】
ZZ :快捷键,保存修改并退出
:r 其他文件路径 :将其他文件内容导入到当前文件光标所在处
例如: :r /root/web 将root下面web文件的内容导入到当前文件光标所在的位置处
:!which 命令:在不退出vim的情况下查看命令的位置
:r !命令 :向当前文件的光标所在处插入命令的执行结果
例如:r !date 向当前文件光标所在处插入时间
:map 快捷键 触发命令 内容:定义快捷键出发命令【快捷键定义为Ctrl+v+自定义字母按键,ctrl+v会出现^字符】
例如 :map ^p I# 定义一个Ctrl+p的快捷键直接切换到到行首添加一个#,目的是将这行改为注释
:n1,n2s/^/内容/g :指定范围在多行前加上注释
:ab 快捷键名称 替换的内容 :指定输入什么字符输入完后空格或回车变为指定内容
例如 :ab qqmail [email protected] 当我在文件中输入qqmail字符串后空格或者回车就会变成我的qq邮箱地址
学完这些我们就可以在我们的.vimrc配置文件中编写我们常用的快捷键等其他文件格式,这将应用到所有的文件格式中,方便我们对所有文件的操作都可以应用这些快捷键与这种文件格式
.vimrc文件在用户的家目录下面,如果你是超级用户,.vimrc这个文件在你的/root/.vimrc,如果是普通用户,那么在/home/username/.vimrc
好了,今天的Linux学习就到这里吧,生活再忙,也不要忘记休息,在这里希望所有奋进学子们每一天都能轻轻松松的收获新的知识,预祝啦