Linux——vi命令
一、vi/vim概念
vi 用来进入 vi 编辑器,vi 编辑器是所有 Unix 及 Linux 系统下标准的文本编辑器,它的强大不逊色于任何最新的文本编辑器。
vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用
vi / vim 文本编译工具 ,比较像Windows里面的记事本。
二、vi/vim三种模式
vi/vim有三种主要的编辑模式,分别是:
-
命令模式 (Command Mode):在这个模式下,用户可以键入命令来控制文本编辑器的操作,如移动光标、复制粘贴、删除等操作。大多数操作都需要在命令模式下完成。
-
插入模式 (Insert Mode):在这个模式下,用户可以输入或编辑文本内容。通过按下i、a、o等按键可以进入插入模式,开始输入文本。
-
底行模式 (Last Line Mode):在这个模式下,用户可以输入各种指令和命令,如保存文件、退出编辑器等操作。按下冒号(:)键即可进入底行模式。
三、vi/vim常用命令
以下是vi/vim编辑器中常用的一些命令:
-
在命令模式下的基本移动命令:
- h:向左移动一个字符
- j:向下移动一行
- k:向上移动一行
- l:向右移动一个字符
- 0:移动到行首
- $:移动到行尾
- gg:移动到文件的第一行
- G:移动到文件的最后一行
- Ctrl+f:向下翻页
- Ctrl+b:向上翻页
-
编辑文本命令:
- i:在当前光标位置前插入文本
- a:在当前光标位置后插入文本
- o:在当前行的下方插入新行
- dd:删除当前行
- yy:复制当前行
- p:粘贴复制的内容
- u:撤销上一步操作
- Ctrl+r:重做上一步操作
-
保存和退出命令:
- :w:保存文件
- :q:退出vi/vim编辑器
- :wq:保存并退出
- :q!:强制退出不保存更改
-
搜索和替换命令:
- /text:向下搜索text
- ?text:向上搜索text
- :%s/text/replacement/g:全文替换text为replacement
-
其他常用命令:
- :set nu:显示行号
- :set nonu:关闭行号显示
- :help:打开帮助文档
四、命令行模式的命令
进入插入模式
i,I :i 从光标当前位置开始输入;I 为在目前所在行的第一个非空格符处开始输入
a,A :a 从目前光标所在位置的下一个位置开始输入;A 为从光标所在行的最后一个字符处开始输入
o ,O:o 表示在光标所在的下面插入新的一行输入,;O 为在目前光标所在位置的上面插入新的一行开始输入
取代
r,R :r 用随后输入的一个字符取代光标所在的字符;R 用随后输入的文本取代从当前光标开始至后面的若干字符,若新输入的字符数超过原有对应字符数,则多出部分就附加在后面,直到按 Esc 退出取代模式 。
五、 移动光标
h 、j 、k 、l ,分别控制光标的左、下、上、右(也可以使用方向键),想要进行多次移动的话,例如向下移动 20 行,可以使用 20j 或 20↓ 的组合按键
ctrl b :屏幕往后移动一页
ctrl f :屏幕往前移动一页
ctrl u :屏幕往后移动半页
ctrl d :屏幕往前移动半页
0 :移到光标所在行首
G :光标移动到整个文本的末行,[行号] G:将光标移至指定行的首位
H :光标移动到当前屏幕的首行,[行号] H:将光标移至指定行的首位
M :光标移动到当前屏幕中间的首位
L :光标移动到当前屏幕的末行,[行号] L:光标移动到倒数的指定行首位
$ :移动到光标所在行的行尾
^ :移动到光标所在行的首位
w / W :光标跳到下段字行的首位
e / E :光标跳到当前行的行尾或下段字行的行尾
b / B :光标跳到当前行的首位获上段字行的首位
gg :光标移动到整个文本的首位
#| :# 为数字,光标移到该行的第 # 个位置
#<空格> :# 为数字,光标移动在光标后 # 位
[行数] + :光标移动到当前行的下一行或指定行的首位
- :光标移动到当前行的上一行
( 、{ :光标移动到整个文本的首位
) 、} :光标移动到整个文本的末尾
六、操作文本
6.1 复制和粘贴操作
-
复制文本:
- 将光标移动到要复制的起始位置
- 按下
v
键进入可视模式(按V
键可以选择整行) - 使用上下左右方向键或相应移动命令选择要复制的文本范围
- 按下
y
键复制选中的文本
-
剪切文本:
- 将光标移动到要剪切的起始位置
- 按下
v
键进入可视模式(按V
键可以选择整行) - 使用上下左右方向键或相应移动命令选择要剪切的文本范围
- 按下
x
键剪切选中的文本
-
粘贴文本:
- 将光标移动到要粘贴的位置
- 按下
p
键粘贴已复制或剪切的文本(在光标后粘贴),按下P
键在光标前粘贴
6.2 删除操作
-
删除单个字符:
- 将光标移动到要删除的字符位置
- 按下
x
键删除光标所在位置的字符
-
删除单词:
- 将光标移动到要删除的单词的起始位置
- 按下
dw
命令删除从当前位置到单词结尾的内容
-
删除整行:
- 将光标移动到要删除的行
- 按下
dd
命令删除当前行
-
删除多行:
- 将光标移动到要删除的起始行
- 输入
Ndd
命令(N为要删除的行数)来删除多行
-
删除选中的文本:
- 进入可视模式(按下
v
键),选择要删除的文本 - 按下
d
键来删除选中的文本
- 进入可视模式(按下