[Linux]Vi/Vim编辑器

Vi/Vim编辑器

安装VIm编辑器

  • 若要在终端模式下进行文本编辑或者修改文件就可以使用 VI/VIM 编辑器。Ubuntu自带了 VI 编辑器,但是 VI 编辑器对于习惯了 Windows 下进行开发的人来说不方便;VIM 编辑器是 VI 编辑器升级版本, VI/VIM 编辑器都是一种基于指令式的编辑器,不需要鼠标,也没有菜单,仅仅使用键盘来完成所有的编辑工作
  • 安装VIM 编辑器,命令如下:
sudo apt-get install vim

Vi/Vim工作模式

  • Vi/Vim编辑器有 3 种工作模式:输入模式、指令模式和底行模式,通过切换不同的模式可以完成不同的功能,以编辑一个文本文档为例讲解Vin编辑器的使用。
  • 输入指令vi test.txt,就会创建一个 test.txt 文档,并且用 VIM 打开。
vi test.txt

输入模式

  • 在进入Vim编辑器时,默认是以只读模式打开的文档,若要进行编辑操作,则需要切换到输入模式下,进行相应的输入操作。

切换输入模式

  • 切换到输入模式的指令如下:
指令 功能
i 在当前光标所在字符的前面,转为输入模式
I 在当前光标所在行的行首转换为输入模式
a 在当前光标所在字符的后面,转为输入模式
A 在光标所在行的行尾,转换为输入模式
o 在当前光标所在行的下方,新建一行,并转为输入模式
O 在当前光标所在行的上方,新建一行,并转为输入模式
s 删除光标所在字符
r 替换光标处字符
  • 在实际使用中,切换至输入模式最常用的指令是a,即在当前光标后,插入字符。当完成文本输入后,按下Esc按键,即可退出输入模式回到指令模式。

指令模式

  • 指令模式顾名思义就是输入指令的模式,这些指令主要用于文本的编辑。

移动光标

  • 移动光标的指令如下:
指令 功能
h(或左方向键) 光标左移一个字符
l(或右方向键) 光标右移一个字符
j(或下方向键) 光标下移一行
k(或上方向键) 光标上移一行
nG 光标移动到第 n 行首
n+ 光标下移 n 行
n- 光标上移 n 行

屏幕翻滚

  • 屏幕翻滚的指令如下:
指令 功能
Ctrl+f 屏幕向下翻一页,相当于下一页
Ctrl+b 屏幕向上翻一页,相当于上一页

复制、删除和粘贴

指令 功能
cc 删除整行,并且修改整行内容
dd 删除该行,不提供修改功能
ndd 删除当前行向下 n 行
x 删除光标所在的字符
X 删除光标前面的一个字符
nyy 复制当前行及其下面 n 行
p 粘贴最近复制的内容

底行模式

  • 在指令模式下,输入:/,即可进入底行模式。

行号显示

指令 功能
:set number 显示行号
:set nonu 取消行号显示

查找与定位

指令 功能
/char 查找char字符,按n查找下一个
:noh 取消文字高亮
:num 定位到num行

复制与剪切

指令 功能
:m,ny 复制m到n行,按p粘贴
:m,nd 剪切m到n行,按p粘贴

保存与退出

指令 功能
x 保存文档并退出
q 退出
w 保存文档
wq 强制写入并退出
q! 退出 VI/VIM,不保存文档

[注]:x的保存文档并退出,仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。而wq的强制写入并退出,即使文件没有被修改也强制写入,并更新文件的修改时间。


参考:
《正点原子-嵌入式Linux驱动开发指南》- 第二章 Ubuntu系统入门 - 2.5 Ubuntu下文本编辑