上一篇文章“linux入门系列3--linux远程登录工具”讲解了如何使用经常使用的工具远程链接和管理linux服务器,要管理服务器必然会涉及到脚本文件的建立、编辑工做,所以在介绍命令以前,本文讨论linux中编辑器相关知识。linux
全部类Unix 系统都会内建vi文本编辑器,就像window电脑上的记事本同样,能够对文本内容进行编辑,vi编辑器是Unix系统最初的编辑器, 容许查看文件中的行、在文件中移动、插入、编辑和替换文本 。程序员
然而因为Unix系统是商业操做系统,国外一牛逼的程序员“ 理查德·斯托曼”发起了GNU计划(该计划目标是建立一套彻底自由的操做系统,实现Unix系统的标准接口,所以彻底向上兼容Unix,可是能够自由使用),在GNU项目中,程序员将vi编辑器移植到开源世界的同时对其作了改进,所以重命名为“Vi improved”,也就是咱们说的vim。编程
ps: GNU 项目,英文全称为“GNU is Not Unix”,简单的说,就是一个开发类 Unix 操做系统的项目,GNU 操做系统是由 GNU 软件包及其第三方的免费软件包组成,因此其最大的特色就是免费。vim
所以vim是从vi发展而来的一个具备编程能力的文本编辑器, 能够主动的以字体颜色辨别语法的正确性,方便程序设计。 vim具备代码补全、编译及错误跳转等方便编程的功能,在程序员中被普遍使用。服务器
有的linux发行版可能没有安装vim(须要时自行安装便可),可是必定会有vi编辑器。做为入门文章本文仅演示两者共同的用法,编辑器有三种模式:通常模式、编辑模式、命令模式。每种模式能够进行不一样的操做,完成不一样的功能。编辑器
三种模式之间能够相互转换。通常模式主要用于:复制、粘贴、删除;编辑模式主要用于编辑文本;命令模式主要执行文本的保存、查找等。工具
咱们平时在windos系统上编辑文件,确定会涉及到复制、粘贴、删除等操做,而这些操做在vi中都是在通常模式下进行的。字体
通常模式是默认模式,要进入编辑模式和命令模式都须要它做为桥梁。spa
用vi命令打开一个文件直接进入通常模式,在这个模式中能够对文本内容进行复制、粘贴、删除等操做。能够经过键盘方向键控制光标移动到指定位置,也能够经过快捷键控制光标位置。操作系统
命令(语法) | 功能描述 | 案例(说明) |
---|---|---|
yy | 复制当前光标所在行 | |
y*y | 复制当前光标所在行开始的*行 | y2y:表示从当前光标所在行开始复制2行 |
yw | 赋值一个单词 | 光标以后开始复制,包括词尾的空格;若是想要复制整个单词,就要把光标放到单词首字母 |
命令(语法) | 功能描述 | 案例(说明) |
---|---|---|
p | 粘贴 | 粘贴到当前光标的下一行(复制的行),或当前光标字符以后(复制的单词) |
命令(语法) | 功能描述 | 案例(说明) |
---|---|---|
dd | 删除光标当前行 | |
d*d | 删除光标当前行开始的*行 | d2d:表示从当前光标所在行开始删除2行 |
dw | 删除光标以后的一个单词 | 光标以后开始删除,包括词尾空格;若是要删除整个单词,光标放到单词首字母,相似yw |
x | 删除光标以后的一个字符 | 至关于del |
X | 删除光标以前的一个字符 | 至关于Backspace |
命令(语法) | 功能描述 | 案例(说明) |
---|---|---|
u | 撤销 |
上边的复制、粘贴、删除,到目前咱们都是经过方向键来控制鼠标的位置,可是这样效率过低,经过下边的定位命令能够快速进行定位。在通常模式下定位光标,进入编辑模式进行编辑,这样能够大大提升效率。
命令(语法) | 功能描述 | 案例(说明) |
---|---|---|
shift+^ | 行首 | |
shift+$ | 行尾 | |
1+shift+g | 页头 | 先按1再一块儿按shift和g组合键 |
shift+g | 页尾 | |
*+shift+g | 任意行 | 先按数字*,在一块儿按shift和g组合键,调试程序时很是有用 |
在通常模式下,经过以下i、a、o、r命令进入编辑模式,对文档内容进行编辑。命令的区别在于进入编辑模式后光标插入点不一样。
命令 | 功能描述 |
---|---|
i | 当前光标前 |
I | 当前光标所在行行首 |
a | 当前光标后 |
A | 当前光标所在行行尾 |
o | 当前光标下一行,新开一行 |
O | 当前光标上一行,新开一行 |
r | 当前光标以后,新输入会替换一个字符 |
R | 替换当前光标以后的多个字符 |
在通常模式下,能够经过如下三个命令:“:”、“/”、“?”进入底行命令模式完成文件保存、内容查找及字符替换功能。执行完命令能够经过ESC返回通常模式。
语法格式
:[选项]+回车
选项分为w、q、!能够相互组合使用。
w:保存
q:退出
!:强制执行
案例
:w 保存
:w filename 文件另存为filename
:wq 保存并退出
:wq! 强制保存并退出
:wq! filename 文件另存为filename并退出编辑器
查找命令主要有2个:/或?两者功能一致,只记住一个便可
/要查找的词+回车
?要查找的词+回车
若是用第一个语法/进行查询,则按n键向下查找下一个,shift+n向上查找下一个
第二个语法则相反,n向上查找上一个,shift+n向下查找下一个
案例
/heimatengyun 在当前文档中查找heimatengyun字符串
等价于
?heimatengyun
能够经过以下命令替换当前文档里的内容
:[范围]s/要被替换的内容/新内容/[c,e,g,i]+回车
范围:1,5表示从第一行到第五行。1,$表示从第一行到最后一行,等价于%。%表示当前编辑的文章。
可组合选项:c表示confirm,每次替换前询问;e表示不显示error;g表示globe不询问整行替换;i表示ignore不区分大小写;I表示大小写敏感
1,3s/you/YOU 在当前文档的1至3行搜索you并替换为YOU。注意不是单词替换,只要匹配就会替换,好比若是第二行存在your这个单词,则会被替换为YOUr
1,3s/you/YOU/c 替换前会询问是否要替换
s/e/E/g 替换当前行全部e为E。假设当前光标所在行内容为where are you from替换后变为hErE arE you from
:set nu 显示行号
:set nonu 关闭行号
以上为vi编辑器基本的使用命令,多敲几回天然就记住了。至此咱们已经学会使用vi编辑器,能够建立和管理各类文件了。下一篇文章将讲解linux经常使用的命令,学会命令后就能够制做各类脚本完成各类工做任务了。