当前位置:网站首页>VIM命令模式与输入模式切换
VIM命令模式与输入模式切换
2022-07-07 09:06:00 【全栈程序员站长】
vi编辑器
vi是UNIX和类UNIX环境下的可用于创建文件的屏幕编辑器。vi有两种工作模式:命令模式和文本输入模式。启动vi需要输入vi,按[Spacebar]键并输入文件名后回车。
切换模式键
vi从命令模式切换到文本输入模式。每个键以不同方式使vi进入文本输入模式。按[ESC]键使vi从文本输入模式回到命令模式。
表1列出了vi从命令模式切换到文本输入模式的命令键及其功能。
表1 切换到文本输入模式的命令键
键 | 功能 |
|---|---|
i | 在光标左侧输入正文 |
I | 在光标所在行的行首输入正文 |
a | 在光标右侧输入正文 |
A | 在光标所在行的行尾输入正文 |
o | 在光标所在行的下一行增添新行,光标位于新行的行首 |
O | 在光标所在行的上一行增添新行,光标位于新行的行首 |
说明:1. 光标的位置由双下划线(═)标明。
2. 当前行指光标所在的那一行。
退出命令
只有一种方式进入vi,但是有几种方式退出vi,退出方式的选择取决于如何处理编辑后的文件。
除了ZZ命令外,这些命令都以:开始,用[Return]结束命令行。表2列出了vi编辑器的退出命令及其功能。
表2 vi编辑器的退出命令
键 | 功能 |
|---|---|
:wq | 保存文件,退出vi编辑器 |
:w | 保存文件,但不退出vi编辑器 |
:q | 退出vi编辑器 |
:q! | 不保存文件,退出vi编辑器 |
ZZ | 保存文件,退出vi编辑器 |
文本修改键
这些键只适用于命令模式。表3列出了vi编辑器的退出命令及其功能。
表3 命令模式下vi编辑器的文本修改键
键 | 功能 |
|---|---|
x | 删除光标位置指定的字符 |
dd | 删除光标所在的行 |
u | 撤销最近的修改 |
U | 撤销对当前行上做的所有修改 |
r | 替换光标位置上的一个字符 |
R | 替换从光标位置开始的字符,同时改变vi到文本输入模式 |
.(点) | 重复上一次的修改 |
光标移动指令
在命令模式下,这些键可以在文档中移动光标。表4列出了vi编辑器的退出命令及其功能。
表4 vi的光标移动键
键 | 功能 |
|---|---|
h或[ ] | 将光标向左移动一格 |
j或[ ] | 将光标向下移动一格 |
k或[ ] | 将光标向上移动一格 |
l或[ ] | 将光标向右移动一格 |
$ | 将光标移到当前行的行尾 |
w | 将光标向右移一个字 |
b | 将光标向左移一个字 |
e | 将光标移到字尾 |
0(零) | 将光标移到当前行的行首 |
[Return]键 | 将光标移到下一行的行首 |
[Spacebar]键 | 将光标向右移动一位 |
[Backspace]键 | 将光标向左移动一位 |
注意:在文本输入模式下避免使用光标键(箭头键)。因为在某些系统中,光标键被解释为普通的ASCII 字符。如果在文本输入模式下使用光标键,那么对应的ASCII字符将被插入文件中。
剪切和粘贴键
这些键用来重新安排用户文件中的文本,在vi的命令模式下可用。表5列出了vi编辑器的剪切和粘贴键及其功能。
表5 vi编辑器的剪切和粘贴键
键 | 功能 |
|---|---|
d | 删除指定位置的文本,并存到临时的缓冲区中。可以使用put操作符(p或P键)访问这个缓冲区 |
y | 将指定位置的文本复制到临时缓冲区。可以使用put操作符访问这个缓冲区 |
P | 将指定缓冲区的内容放到当前光标的位置之上 |
p | 将指定缓冲区的内容放到当前光标的位置之下 |
翻页键
翻页键用来大块滚动用户的文件,在vi的命令模式下可用。表6列出了vi编辑器的翻页键及其功能。
表 6 vi编辑器的翻页键
键 | 功能 |
|---|---|
[Ctrl-d] | 将光标向下移到文件尾,通常每次移动12行 |
[Ctrl-u] | 将光标向上移到文件头,通常每次移动12行 |
[Ctrl-f] | 将光标向下移到文件尾,通常每次移动24行 |
[Ctrl-b] | 将光标向上移到文件头,通常每次移动24行 |
三种常见的模式:Normail Mode(命令模式),Insert Mode(输入模式)和Visual Mode(视图模式)。 命令模式和输入模式的切换有Append,Insert,Replace,Subsitute 记作AIRS,这种记忆方法特别方便,英文单词的意思是空气,vim在命令模式和输入模式的切换就像空气一样,无影无形。
编辑文本无非就是基本的字符输入和切换光标的位置,平时光标切换就是通过键盘上的上下左右的键盘来实现的,这个上下左右的键盘切换光标虽然也是很方便,但是是不是要从我们键盘手势上移动,而vim可以完全不用移动,通过hjkl。 h:左移一个位置 j:往下一行 k:往上一行 l:右移一个位置
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/113812.html原文链接:https://javaforall.cn
边栏推荐
- MPX plug-in
- 【亲测可行】error while loading shared libraries的解决方案
- VR development optimization
- 【推薦系統 01】Rechub
- [système recommandé 01] rechub
- JS array delete the specified element
- Still cannot find RPC dispatcher table failed to connect in virtual KD
- From pornographic live broadcast to live broadcast E-commerce
- The sixth training assignment
- The fifth training assignment
猜你喜欢

SQL Server knowledge gathering 9: modifying data

Wallhaven wallpaper desktop version

seata 1.3.0 四种模式解决分布式事务(AT、TCC、SAGA、XA)

Ping tool ICMP message learning

shardingsphere分库分表示例(逻辑表,真实表,绑定表,广播表,单表)

What are the contents of the intermediate soft test, the software designer test, and the test outline?

Monai version has been updated to 0.9. See what new functions it has
![[untitled]](/img/a0/29975bc0f9832e1640cc39dfce4a71.jpg)
[untitled]

Transaction rolled back because it has been marked as rollback only

关于jmeter中编写shell脚本json的应用
随机推荐
I plan to take part in security work. How about information security engineers and how to prepare for the soft exam?
[pytorch 07] hands on deep learning chapter_ Preliminaries/ndarray exercises hands-on version
PR Lecture Notes
POJ1821 Fence 题解报告
After the uniapp jumps to the page in onlaunch, click the event failure solution
Rolling puddle Uni_ App (VIII)
What does intermediate software evaluator test
Find the greatest common divisor and the least common multiple (C language)
Long list performance optimization scheme memo
[untitled]
How to prepare for the advanced soft test (network planning designer)?
uniapp 在onLaunch中跳轉頁面後,點擊事件失效解决方法
Those confusing concepts (3): function and class
Wallhaven wallpaper desktop version
shardingsphere分库分表示例(逻辑表,真实表,绑定表,广播表,单表)
Unity script generates configurable files and loads
How to use cherry pick?
Unity script visualization about layout code
Go Slice 比较
Ping tool ICMP message learning