Linux教程(六)Vim 基础

简介

vi 是 Visual interface 的简称,是 linux 中最经典的文本编辑器,在很多 linux 发行版中,直接把 vi 做成了 vim 的软连接。

vi 的特点:

  • 没有图形界面,功能强大
  • 只能编辑文本内容,不能对字体、段落进行排版
  • 不支持鼠标操作
  • 没有菜单,只有命令

Vim 是从 vi 发展出来的一个多模式文本编辑器,代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

官方文档:http://vimcdoc.sourceforge.net/

Vim 安装

sudo apt-get install vim

安装好之后可以在终端输入 vimtutor 查看快速入门教程。

Vim 模式

vim 是一个多模式编辑器,进入 vim 时的初始模式是普通模式,而在该模式下是不能进行文本输入的,它具有五种基本模式和六种派生模式。

五种模式

1. 普通模式 normal mode

普通模式是 vim 打开之后的初始模式以及使用中的默认模式。在该模式下的键盘输入是被当做快捷键对待的,而不是文字录入,也就是说用户只能输入各种快捷键来实现各种功能。

普通模式可以直接切换到 I、C、V、R 模式(各个模式的简称)

2. 插入模式 insert mode

插入模式是其他编辑器的默认状态。进入插入模式后,vim 就和一般的编辑器没有区别了,但是这里是不能使用鼠标的,全部的操作都是由键盘完成。

3. 命令模式 comman mode

命令模式和插入模式一样,也是一般编辑器都有的模式。

4. 可视模式 visual mode

可视模式主要用于选择文本区域,然后将一些操作作用到选中的文本区域上,该模式下被选中的区域会高亮显示。

5. 替换模式 replace mode

按下键盘上的 insert 后,新输入的文本会直接覆盖掉以前的文本,这就是替换模式。

注:一种非普通模式要进入到另一种非普通模式,都需要先切换到普通模式再进行切换。

模式切换

各模式之间的切换如下图所示:

image

1. IN,CN,VN,RN 操作

IN 即插入模式切换到普通模式,其它操作类似。由其它非普通模式回到普通模式可使用以下三种快捷键:Esc、Ctrl+c、Ctrl+[。

注:在命令模式下输入命令回车,命令执行完之后会自动从命令模式退回到普通模式;在可视模式下,当前任务完成后也会自动回到普通模式。

2. NI 操作

普通模式切换到插入模式可使用快捷键:i、a、o、I、A、O、s、cw。

  • i:insert,在光标之前插入
  • a:append,在光标之后插入
  • o:在光标所在行下方新起一行并进行插入
  • I:在当前行的第一个非空白字符之前插入文本
  • A:将光标移动到当前行的行尾输入文本
  • O:在当前行的上方新起一行输入文本
  • s:substitute,删除当前光标下的字符,然后进入插入模式
  • cw:change word,删除当前光标开始的一个单词,然后进入插入模式

3. NC 操作

普通模式切换到命令模式,可使用快捷键:: 、 /

  • : :进入命令模式,并在左下角出现一个冒号,输入想要执行的命令回车即可执行
  • / :执行搜索功能
# 查看命令的帮助文档
:help <command>

# 查看“命令行模式”的帮助文档
:help :  

注:进入命令行模式后,可以使用方向键调出历史命令。如输入 😒 则只会调出以 s 开头的历史命令。

4. NV 操作

普通模式切换到可视模式,可使用快捷键:v、V、Ctrl+v

5. NR 操作

普通模式切换到替换模式,可使用快捷键:r、R

文件操作

打开文件

终端输入 vim 文件名 ,vim 会直接打开文件,若文件不存在,则新建一个文件并打开。

如果已经打开了 vim,执行命令 :e 文件名 可以打开当前路径下的文件。在输入文件名时,可以使用 tab 键对文件名进行自动补齐。

如果已经打开了文件,并且需要继续写代码而不想关闭,但是又需要打开另一个文件编辑,可以利用 vim 的多标签功能,执行命令 :tabnew 文件名 即可打开新的文件

切换标签页

要在标签页之间切换,首先要回到普通模式。切换标签页可以使用快捷键:gt、gT

  • gt:切换到当前标签页的右侧标签页上
  • gT:切换到当前标签页的左侧标签页上

分割窗口打开文件

  • :sp <file> 打开新文件并将窗口分成上下 2 个
  • :vs <file> 打开新文件并将窗口分成左右 2 个

这两个命令可以一直使用

窗口切换

快捷键:Ctrl + w + [h,j,k,l] ,h、j、k、l 分别表示左、下、上、右四个方向

保存文件

  • :w 保存文件
  • :wa一次性将在编辑的所有文件的修改都执行保存操作

退出

  • :q关闭当前窗口或当前标签页
  • :wq先保存再退出
  • :qa一次性将所有在编辑的文件全部关闭并退出
  • :q! 不保存修改强制退出文件

导航和跳转

导航

快捷键:h、j、k、l、w、e、b、f、F、t、,、;

h、j、k、l : 在普通模式下用来将光标向四个方向进行移动,h 向左移动一个字符,l向右移动一个字符,j向下移动一行,k向上移动一行。

w、e、b:以单词为单位移动,w 正向移动,光标停留在单词的第一个字母上;e 正向移动,光标停留在单词的最后一个字母上;b 则是向左移动光标,光标停留在第一个字母上。

翻页

  • Ctrl + f :整屏正向翻页
  • Ctrl + b:整屏反向翻页
  • Ctrl + d:半屏正向翻页
  • Ctrl + u:半屏反向翻页

基本编辑

删除文本

  • x :剪切当前光标下的字符
  • d :删除操作
  • dw:删除单词
  • d$:从当前光标正向删除到行尾
  • dd:删除光标所在的一行
posted @ 2020-10-06 09:34  芒果日记  阅读(213)  评论(0编辑  收藏  举报