4

vim 操作模式简介

 3 years ago
source link: https://my.oschina.net/wangzhijie/blog/5066150
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

何为 vim?

vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和 Emacs 并列成为类 Unix 系统用户最喜欢的文本编辑器。

vim 的设计理念是命令的组合。用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效的进行文本编辑。

同时 vim 与很多快捷键设置和正则表达式类似,可以辅助记忆。并且 vim 针对程序员做了优化。

vim 的三种操作模式

vim 有三种操作模式,分别是命令模式(Command mode)、输入模式(Insert mode)和底线命令模式(Last line mode)。

三种模式切换快捷键:

模式 快捷键 命令模式 ESC 输入模式 i或a 底线命令模式 :

在命令模式中控制光标移动和输入命令,可对文本进行复制、粘贴、删除和查找等工作。

使用命令 vim filename 后进入编辑器视图后,默认模式就是命令模式,此时敲击键盘字母会被识别为一个命令,例如在键盘上连续敲击两次d,就会删除光标所在行。

以下是在命令模式中常用的快捷操作:

操作 快捷键 光标左移 h 光标右移 l(小写L) 光标上移 k 光标下移 j 光标移动到下一个单词 w 光标移动到上一个单词 b 移动游标到第n行 nG 移动游标到第一行 gg 移动游标到最后一行 G 快速回到上一次光标所在位置 Ctrl+o 删除当前字符 x 删除前一个字符 X 删除整行 dd 删除一个单词 dw或daw 删除至行尾 d$或D 删除至行首 d^ 删除到文档末尾 dG 删除至文档首部 d1G 删除n行 ndd 删除n个连续字符 nx 将光标所在位置字母变成大写或小写 ~ 复制游标所在的整行 yy(3yy表示复制3行) 粘贴至光标后(下) p 粘贴至光标前(上) P 剪切 dd 交换上下行 ddp 替换整行,即删除游标所在行并进入插入模式 cc 撤销一次或n次操作 u{n} 撤销当前行的所有修改 U 恢复撤销操作 Ctrl+r 整行将向右缩进 >> 整行将向左退回 << 若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开 ZZ

在命令模式下按i或a键就进入了输入模式,在输入模式下,您可以正常的使用键盘按键对文本进行插入和删除等操作。

以下是输入模式常用的快捷键操作:

操作 命令 换行 Enter 删除光标前一个字符 Space 删除光标后一个字符 Delete 在文本中移动光标 方向键 移动光标到行首/行尾 Home/End 切换光标为输入/替换模式 Insert 退出输入模式,切换到命令模式 Esc

底线命令模式

在命令模式下按:键就进入了底线命令模式,在底线命令模式中可以输入单个或多个字符的命令。

以下是底线命令模式中常用的快捷操作:

操作 命令 保存 :w 退出 :q 保存并退出 :wq(:wq!表示强制保存退出) 将文件另存为其他文件名 :w new_filename 显示行号 :set nu 取消行号 :set nonu 使本行内容居中 :ce 使本行文本靠右 :ri 使本行内容靠左 :le 向光标之下寻找一个名称为word的字符串 :/word 向光标之上寻找一个字符串名称为word的字符串 :?word 重复前一个搜寻的动作 :n 从第一行到最后一行寻找word1字符串,并将该字符串取代为word2 :1,$s/word1/word2/g :%s/word1/word2/g

我们可以参考以下图示来理解这三种模式:

img

在本示例将使用vim在文本文件中写入一首唐诗。

  1. 新建一个文件并进入vim命令模式。
vim 静夜思.txt

image-20210601182109882

> 直接输入 vim 文件名 就能够进入 vi 的一般模式了。请注意,记得 vi 后面一定要加文件名,不管该文件存在与否!

  1. 按下i进入输入模式,输入《静夜思》的诗名。

image-20210601182524439

> 在一般模式之中,只要按下 i, o, a 等字符就可以进入输入模式了! > 在编辑模式当中,你可以发现在左下角状态栏中会出现 –INSERT- 的字样,那就是可以输入任意字符的提示。 > 这个时候,键盘上除了 Esc 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑。

  1. 按下 ECS 键回到命令模式,并输入底线命令:ce,使诗名居中。

image-20210601182610170

  1. 按下o键换行并进入输入模式,输入第一行诗。

image-20210601182910542

  1. 按下 ECS 键回到命令模式,并输入底线命令:ce,使第一行诗居中。

image-20210601183000687

  1. 按下o键换行并进入输入模式,输入第二行诗。

image-20210601183100061

  1. 按下 ECS 键回到命令模式,并输入底线命令:ce,使第二行诗居中。

image-20210601183126651

  1. 在命令模式中执行底线命令:wq离开 vim。

>学习有趣的知识,结识有趣的朋友,塑造有趣的灵魂!

> 大家好,我是编程三昧的作者隐逸王,我的公众号是编程三昧,希望大家多多指教!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK