Linux学习笔记(三)------Vim编辑器

Linux学习笔记(三)------Vim编辑器

8、Vim编辑器

8.1 简介

  • Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中广泛被使用。尤其是Linux中,必须学会Vim

  • Vim可以通过一些插件实现和IDE一样的功能

  • Vim是程序开发者一项很好用的工具,可用于查看内容,编辑内容,保存内容

  • 所有Unix Like系统都会内建vi文书编辑器,其他的文书编辑器则不一定会存在

  • Vim就是程序开发工具而不是文字处理软件

  • Vim官网:welcome home : vim online

  • Vim键盘图

Linux学习笔记(三)------Vim编辑器_第1张图片

8.2 三种使用模式

  • vi/Vim分为三种使用模式:命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)

8.2.1 如何进入Vim

  • 新建一个文件vim zstudy.txt,如果文件存在,则修改文件,文件不存在新建文件

8.2.2 命令模式

  • 用户启动vi/Vim,就进入了命令模式

Linux学习笔记(三)------Vim编辑器_第2张图片

  • 此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。例如:按下i,并不会输入字符,而被当作操作了i命令

  • 常用命令:

i:切换到输入模式,可以输入字符

x:删除当前光标所在处的字符

::切换到底线命令模式,可以在最下面一行输入命令。如果在编辑模式,需要先退出编辑模式,Esc退出
  • 命令模式只有一些最基本的命令,需要依靠底线命令模式输入更多命令

8.2.3 输入模式

  • i进入输入模式,可以编辑文本

Linux学习笔记(三)------Vim编辑器_第3张图片

  • 在输入模式下,可以用以下按键
字符按键以及Shift组合:输入字符

Enter:换行

Backspace:删除光标前一个字符

Delete:删除光标后一个字符

左右方向键:在文本中移动光标

上下方向键:商家翻页

Home/End:移动光标到行首/行尾

Insert:切换光标为输入/替换模式,光标变成竖线/下划线

Esc:退出输入模式,切换到命令模式

8.2.4 底线命令模式

  • 在命令模式下按:进入底线命令模式。光标移动到最低端,可以输入底线命令

Linux学习笔记(三)------Vim编辑器_第4张图片

  • 底线命令模式可以输入单个或多个字符的命令,可使用非常多命令
  • 常见基本命令:
#完成操作后,通常输入命令wq【在底线命令模式中】,保存文件并退出Vim
q:退出程序

w:保存文件

Ese:退出底线命令模式

8.2.5 小结

  • 完成流程:
    • 新建或编辑文件,按i进如编辑模式,编写内容
    • 编写完成后,按Esc退出编辑模式
    • :进入底线命令模式
    • wq保存文件并退出
  • Vim工作图示

Linux学习笔记(三)------Vim编辑器_第5张图片

8.3 Vim按键说明

  • 除了上述常用按键,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 取消显示行号

你可能感兴趣的:(Linux学习笔记,linux,vim,编辑器)