Linux学习笔记(三)------Vim编辑器
8、Vim编辑器
8.1 简介
-
Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中广泛被使用。尤其是Linux中,必须学会Vim -
Vim可以通过一些插件实现和IDE一样的功能 -
Vim是程序开发者一项很好用的工具,可用于查看内容,编辑内容,保存内容 -
所有Unix Like系统都会内建vi文书编辑器,其他的文书编辑器则不一定会存在 -
Vim就是程序开发工具而不是文字处理软件 -
Vim官网:welcome home : vim online -
Vim键盘图
8.2 三种使用模式
- vi/Vim分为三种使用模式:
命令模式(Command mode) 、输入模式(Insert mode) 和底线命令模式(Last line mode)
8.2.1 如何进入Vim
- 新建一个文件
vim zstudy.txt ,如果文件存在,则修改文件,文件不存在新建文件
8.2.2 命令模式
i:切换到输入模式,可以输入字符
x:删除当前光标所在处的字符
::切换到底线命令模式,可以在最下面一行输入命令。如果在编辑模式,需要先退出编辑模式,Esc退出
- 命令模式只有一些最基本的命令,需要依靠底线命令模式输入更多命令
8.2.3 输入模式
字符按键以及Shift组合:输入字符
Enter:换行
Backspace:删除光标前一个字符
Delete:删除光标后一个字符
左右方向键:在文本中移动光标
上下方向键:商家翻页
Home/End:移动光标到行首/行尾
Insert:切换光标为输入/替换模式,光标变成竖线/下划线
Esc:退出输入模式,切换到命令模式
8.2.4 底线命令模式
- 在命令模式下按
: 进入底线命令模式。光标移动到最低端,可以输入底线命令
- 底线命令模式可以输入单个或多个字符的命令,可使用非常多命令
- 常见基本命令:
q:退出程序
w:保存文件
Ese:退出底线命令模式
8.2.5 小结
- 完成流程:
- 新建或编辑文件,按
i 进如编辑模式,编写内容 - 编写完成后,按
Esc 退出编辑模式 - 按
: 进入底线命令模式 wq 保存文件并退出 - Vim工作图示
8.3 Vim按键说明
8.3.1 第一部分:命令模式
-
一般模式可用的光标移动、复制粘贴、搜索替换等 -
移动光标的方法
按键 | 含义 |
---|
k 或 上方向键 | 光标向上移动一个字符 | j 或 下方向键 | 光标向下移动一个字符 | h 或 左方向键 | 光标向左移动一个字符 | i 或 右方向键 | 光标向右移动一个字符 | ctrl + f | 屏幕向下移动一页 | ctrl + b | 屏幕向上移动一页 | ctrl + d | 屏幕向下移动半页 | ctrl + u | 屏幕向上移动半页 | + | 光标移动到非空格符的下一行 | - | 光标移动到非空格符的上一行 | 数字+空格 | 快捷切换光标,光标向右移动N个字符 | 0 或 功能键Home | 移动到这一行的最前面字符处 | $ 或 功能键End | 移动到这一行的最后面字符处 | H | 光标移动到这个屏幕最上方那行的第一个字符 | M | 光标移动到这个屏幕中间那行的第一个字符 | L | 光标移动到这个屏幕最下方那行的第一个字符 | G | 移动到这个文件的最后一行 | 数字+G | 移动到这个文件的第N行 | gg | 移动到这个文件的第一行 | 数字+Enter | 光标向下移动N行 |
按键 | 含义 |
---|
/word | 光标之下寻找一个名为word的字符串 | ?word | 光标之上寻找一个名为word的字符串 | n | 重复前一个搜索动作,寻找下一个word字符串 | N | 重复前一个搜索动作,寻找上一个word字符串 |
按键 | 含义 |
---|
x,X | x向后删除一个字符(Delete),X向前删除一个字符(Backspace) | 数字+x | 连续向后删除N个字符 | dd | 删除游标所在的一整行 | 数字+dd | 删除游标所在向下N行 | d1G | 删除游标所在到第一行的所有数据 | dG | 删除游标所在到最后一行的所有数据 | d$ | 删除游标所在位置到本行最后一个字符 | d0 | 删除游标所在位置到本行第一个字符 | yy | 复制游标所在的一行 | 数字+yy | 复制游标所在向下n行 | y1G | 复制游标所在到第一行所有数据 | yG | 复制游标所在到最后一行所有数据 | y0 | 复制游标所在位置到本行第一个字符 | y$ | 复制游标所在位置到本行最后一个字符 | p,P | p:将已复制数据粘贴在游标下一行。P:将将已复制数据粘贴在游标上一行 | J | 将光标所在行与下一行数据结合成同一行 | c | 重复删除多个数据,例如:10cj,向下删除10行 | u | 复原上一个动作 | Ctrl + r | 重做上一个动作 |
8.3.2 第二部分:输入模式
按键 | 含义 |
---|
i,I | i:从目前光标处输入。I:从目前所在行第一个非空格符处输入 | a,A | a:从目前光标所在下一个字符处开始输入。A:从目前光标所在行最后一个字符处开始输入 | o,O | o:从目前光标所在的下一行,输入新的一行。O:从目前光标所在的上一行,输入新的一行 | r,R | r:取代光标所在的那个字符一次。R:一直取代光标所在文字,直到按下Esc | Esc | 退出输入模式,回到命令模式 |
8.3.3 第三部分:底层命令模式
按键 | 含义 |
---|
:w | 将编辑的数据写入硬盘档案中,即保存文件 | :w! | 文件属性只读时,强制写入文件 | :q | 退出Vim | :q! | 强制退出Vim,不保存文件 | ! | 一般代表强制的意思 | :wq | 保存并退出 | ZZ | 若文件无改动,不保存退出;文件改动,保存退出 | :w + 文件名 | 将编辑的数据存储成新文件 | :r + 文件名 | 在编辑数据中,读入其他文件的数据,内容加到当前光标后 | :n1,n2 w + 文件名 | 将从n1到n2的内容,存到新文件 | :! command | 退出Vim命令行模式下执行command,显示结果。command可替换 | :set nu | 显示行号 | :set nonu | 取消显示行号 |
|