1. vi/vim编辑器
1.1 概述
所有的Linux系统都会内建vi文本编辑器。
vim是在linux系统中使用比较多的文本编辑器,它具有代码补全、编译及错误跳转等方便编程的功能,并以字体颜色辨别语法的正确性,方便程序设计。
1.2 vim使用-三种模式
vim分为三种模式:命令模式、输入模式、和底线命令模式
1.2.1 一般模式/命令模式
进入编辑器后,vim不会让你立马操作,会等待你输入指令,看你要做什么
1.2.2 输入模式/编辑模式
在输入模式中,我们可以按
1. 字符按键以及shift组合,输入字符
2. ENTER,回车键,换行
3. 退格键,删除前一个字符
4. del,删除键,删除后一个字符
5. 方向键,移动光标位置
6. HOME/END 回到该行开头/末尾
7. Page up/Page down 上下翻页
8. Insert, 切换输入/替换模式
9. ESC 推出输入模式,进入底线命令模式
1.2.3 底线命令模式
我们可以按ESC进入底线命令模式,然后按:(英文的冒号)输入指令
q #直接退出,不保存
q! #强制退出,不保存
wq #保存并退出
w #保存文件,不退出
set nu #显示设置行号
set nonu #取消显示行号
再按一次ESC也可以退出命令模式
1.3 常用快捷键
在一般模式下
移动光标
h:往前移动,只限在本行
j:往下一行移动,仅限行移动
k:往上一行移动,仅限行移动
l : 代表往后移动,只限在本行
1.3.1 复制
yw:将光标所在处到字尾的字符复制到缓冲区中(复制一个词)
(想在和#x、#X的功能相反)
p:将缓冲区内的字符粘贴到光标所在位置(指令‘yw’与‘p必须搭配使用)。
yy:复制光标所在行。[超常用]
p:复制单行到您想粘贴之处。(指令‘yy’与‘p’必须搭配使用)
#yy:如:6yy表示拷贝从光标所在的该行往下数6行之文字。[常用]
p:复制多行到您想粘贴之处。(指令‘#yy’与‘p’必须搭配使用)
“ayy:将复制行放入buffer a, vi提供buffer功能,可将常用的数据存在buffer
“ap:将放在buffer a的数据粘贴。
“b3yy:将三行数据存入buffer b。
“b3p:将存在buffer b的资料粘贴
1.3.2 p 粘贴
箭头移动到目的粘贴 p 向后粘,P(大写)向前粘贴
注:多行提示,单行无提示
1.3.3 u撤销/反撤销 ctrl + r
1.3.4 dd或ndd剪切n行,可以配合p粘贴
剪切光标当前行,通过p粘贴到下一行
1.3.5 x删除一个字母
删除光标当前的字母,和del一样,可以向前删除和向后删除
1.3.6 dw剪切一个词
从光标开始的地方到结束的地方
1.3.7 n + shift + g 或 n + 大写G 移动到第n行
gg 光标移动到开始, shift + g(或大写G)移动到末尾
88G 跳转到88行
:88(底线命令) 跳转到88行
1.3.8 ^移动到行首,$移到行末
1.3.9 %大括号对应
1.3.10 D或d$删除光标到行末
1.3.11 d0删除到行首
1.3.12 删除指定区域
按v可切换可视模式=》使用hjkl移动到待删区域,按d删除
1.3.13 /word 查找关键字word
1. 查找关键字 =》回车查找 =》 按n继续向后查找/按N向前查找
在命令行输入: /字符串,按n找下一个
2. 光标移动到关键字任意一个字符上,按*向后,按#向前
1.3.14 替换内容
1.将光标置于待替换行上,进入底线模式,输入: s /原内容/新内容
2.替换所有内容,进入底线模式,输入: %s /原内容/新内容
==只替换一行里面首次出现的单词,重复的不管==
替换所有内容,进入底线模式,输入: %s /原内容/新内容/g
3.指定行的替换,进入底线模式,输入:起始行号,终止行号s /原内容/新内容/g
1.4 其他命令
1.4.1 分屏操作
1. 底线模式,输入sp,水平分屏,ctrl + ww 来回切换光标,底线输入q退出
2. 底线模式,输入vsp,垂直分屏, ctrl + ww 来回切换光标,底线输入q退出
1.4.2 跳转至man手册
将光标移动到带查看函数单词上,命令模式下,使用K跳转,指定卷nK
1.4.3 查看宏定义
将光标移动到待查看的宏定义单词上,命令模式下,使用[d查看定义
1.4.4 底线模式下,可以输入其他执行命令
底线模式下,输入:! 其他命令事宜