当前位置:网站首页>VIM command mode and input mode switching
VIM command mode and input mode switching
2022-07-07 11:32:00 【Full stack programmer webmaster】
vi Editor
vi yes UNIX And the class UNIX Environment can be used to create a file screen editor .vi There are two working modes : Command mode and text input mode . start-up vi Need to enter vi, Press [Spacebar] Key and enter the file name and press enter .
Switch mode key
vi Switch from command mode to text input mode . Each key makes vi Enter text input mode . Press [ESC] Keying vi Return from text input mode to command mode .
surface 1 Lists vi Command keys and their functions for switching from command mode to text input mode .
surface 1 Command key to switch to text input mode
key | function |
|---|---|
i | Enter the text... To the left of the cursor |
I | Enter the text at the beginning of the line where the cursor is located |
a | Enter the text... To the right of the cursor |
A | Enter the text at the end of the line where the cursor is located |
o | Add a new line to the line next to the cursor , The cursor is at the beginning of the new line |
O | Add a new line to the line where the cursor is , The cursor is at the beginning of the new line |
explain :1. The position of the cursor is underlined (═) mark .
2. The current line refers to the line where the cursor is located .
Exit command
There is only one way to enter vi, But there are several ways to quit vi, The choice of exit method depends on how to deal with the edited file .
except ZZ Outside command , These orders are all based on : Start , use [Return] End command line . surface 2 Lists vi The exit command of the editor and its functions .
surface 2 vi Exit command of editor
key | function |
|---|---|
:wq | Save the file , sign out vi Editor |
:w | Save the file , But don't quit vi Editor |
:q | sign out vi Editor |
:q! | Don't save files , sign out vi Editor |
ZZ | Save the file , sign out vi Editor |
Text modification key
These keys are only available in command mode . surface 3 Lists vi The exit command of the editor and its functions .
surface 3 In command mode vi Editor text modification key
key | function |
|---|---|
x | Delete the character specified by the cursor position |
dd | Delete line with cursor |
u | Undo the most recent change |
U | Undo all changes made to the current line |
r | Replace a character at the cursor position |
R | Replace the character starting from the cursor position , Change at the same time vi To text input mode |
.( spot ) | Repeat the last modification |
Cursor movement command
In command mode , These keys move the cursor in the document . surface 4 Lists vi The exit command of the editor and its functions .
surface 4 vi Cursor movement key
key | function |
|---|---|
h or [ ] | Move the cursor one space to the left |
j or [ ] | Move the cursor down one space |
k or [ ] | Move the cursor up one space |
l or [ ] | Move the cursor one space to the right |
$ | Move the cursor to the end of the current line |
w | Move the cursor one word to the right |
b | Move the cursor one word to the left |
e | Move the cursor to the end |
0( zero ) | Move the cursor to the beginning of the current line |
[Return] key | Move the cursor to the beginning of the next line |
[Spacebar] key | Move the cursor one digit to the right |
[Backspace] key | Move the cursor one bit to the left |
Be careful : Avoid using cursor keys in text input mode ( Arrow keys ). Because in some systems , Cursor keys are interpreted as normal ASCII character . If you use cursor keys in text input mode , So the corresponding ASCII Characters will be inserted into the file .
Cut and paste keys
These keys are used to rearrange the text in the user file , stay vi Available in command mode . surface 5 Lists vi Editor's cut and paste keys and their functions .
surface 5 vi Editor's cut and paste keys
key | function |
|---|---|
d | Delete the text in the specified position , Coexist in the temporary buffer . have access to put The operator (p or P key ) Access this buffer |
y | Copy the text at the specified location to the temporary buffer . have access to put The operator accesses this buffer |
P | Place the contents of the specified buffer above the current cursor position |
p | Place the contents of the specified buffer under the current cursor |
Page turning key
The page key is used to scroll through the user's files in large blocks , stay vi Available in command mode . surface 6 Lists vi Page turning key of editor and its functions .
surface 6 vi Page turning key of editor
key | function |
|---|---|
[Ctrl-d] | Move the cursor down to the end of the file , Usually every time you move 12 That's ok |
[Ctrl-u] | Move the cursor up to the file header , Usually every time you move 12 That's ok |
[Ctrl-f] | Move the cursor down to the end of the file , Usually every time you move 24 That's ok |
[Ctrl-b] | Move the cursor up to the file header , Usually every time you move 24 That's ok |
Three common patterns :Normail Mode( Command mode ),Insert Mode( The input mode ) and Visual Mode( View mode ). Switching between command mode and input mode Append,Insert,Replace,Subsitute Write it down as AIRS, This memory method is particularly convenient , The English word means air ,vim Switching between command mode and input mode is like air , Immaterial .
Editing text is nothing more than basic character input and switching cursor position , At ordinary times, cursor switching is realized through the up, down, left and right keyboards on the keyboard , Although it is very convenient for the keyboard to switch the cursor up, down, left and right , But is it necessary to move from our keyboard gestures , and vim You don't have to move at all , adopt hjkl. h: Move one position to the left j: The next line k: One line up l: Move one position to the right
Publisher : Full stack programmer stack length , Reprint please indicate the source :https://javaforall.cn/113812.html Link to the original text :https://javaforall.cn
边栏推荐
- 使用MeterSphere让你的测试工作持续高效
- Verilog realizes nixie tube display driver [with source code]
- sql里,我想设置外键,为什么出现这个问题
- 相机标定(2): 单目相机标定总结
- Input type= "password" how to solve the problem of password automatically brought in
- Talk about SOC startup (11) kernel initialization
- 本地navicat连接liunx下的oracle报权限不足
- R Language Using Image of magick package Mosaic Function and Image La fonction flatten empile plusieurs images ensemble pour former des couches empilées sur chaque autre
- Half of the people don't know the difference between for and foreach???
- Socket socket programming
猜你喜欢

Electron adding SQLite database

浙江大学周亚金:“又破又立”的顶尖安全学者,好奇心驱动的行动派

The opacity value becomes 1%

How much do you know about excel formula?
![[system design] index monitoring and alarm system](/img/8e/9c4c168f7f2b8e1f0786a5fe158544.png)
[system design] index monitoring and alarm system

Unsupervised learning of visual features by contracting cluster assignments

Web端自动化测试失败的原因

Talk about SOC startup (11) kernel initialization

解决VSCode只能开两个标签页的问题

学习笔记|数据小白使用DataEase制作数据大屏
随机推荐
Android 面试知识点
Learning notes | data Xiaobai uses dataease to make a large data screen
JS array delete the specified element
相机标定(1): 单目相机标定及张正友标定基本原理
聊聊SOC启动(十) 内核启动先导知识
使用MeterSphere让你的测试工作持续高效
Distributed database master-slave configuration (MySQL)
MIF file format record
There are ways to improve self-discipline and self-control
关于SIoU《SIoU Loss: More Powerful Learning for Bounding Box Regression Zhora Gevorgyan 》的一些看法及代码实现
STM32 entry development NEC infrared protocol decoding (ultra low cost wireless transmission scheme)
After the uniapp jumps to the page in onlaunch, click the event failure solution
In depth learning autumn recruitment interview questions collection (1)
高考作文,高频提及科技那些事儿……
Poor math students who once dropped out of school won the fields award this year
R Language Using Image of magick package Mosaic Function and Image La fonction flatten empile plusieurs images ensemble pour former des couches empilées sur chaque autre
sink 消费 到 MySQL, 数据库表里面已经设置了 自增主键, flink 里面,如何 操作?
【愚公系列】2022年7月 Go教学课程 005-变量
QT | multiple windows share a prompt box class
Half of the people don't know the difference between for and foreach???