肖sir__linux讲解vim命令(3.1)

vim 命令

一、 vi/vim 编辑器共分为三种模式:

格式 :vim 文件名

命令模式(Command mode),"ESC"或ctrl+c键

输入模式(Insert mode)

底线命令模式(Last line mode)

命令模式------>末行模式:如":/ ?用于搜索)

一、命令模式:

常用的几个命令:

i :切换到输入模式,以输入字符。

x 删除当前光标所在处的字符

: 切换到底线命令模式,以在最底一行输入命令

二、输入模式:(进入编辑模式按i 键)

ENTER, 回车键,换行

BACK SPACE退格键,删除光标前一个字符

DEL, 删除键,删除光标所在一个字符

方向键, 在文本中移动光标

HOME/END, 移动光标到行首/行尾

Page Up/Page Down,上/下翻页

ESC,退出输入模式,切换到命令模式

三、底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

q 退出程序

w 保存文件

wq 保存退出

q! 强制退出

wq! 强制保存退出

跳转到第n行:":n"

set n u显示行号 (重点)

set nonu 取消行号(重点)

指令 含义 表现形式

i 在当前光标所在处,转换为输入模式 Ctrl+c,再按i

I 在当前光标所在行行首,转换为输入模式 Ctrl+c,再按I

a append, 在当前光标所在处字符后方,转换为输入模式Ctrl+c,再按a

A 在当前光标所在行行尾,转换为输入模式 Ctrl+c,再按A

o 在当前光标所在行的下方新建一个空白行,并转换为输入模式 Ctrl+c,再按o

O 在当前光标所在行的上方新建一个空白行,并转换为输入模式 Ctrl+c,再按O

dd 删除光标所在行 Ctrl+c,再按dd

u 撤回上一操作 Ctrl+c,再按u

yy+p yy复制wp 保存修改并退出 Ctrl+c,按:wp

:q! 强制退出,放弃修改 Ctrl+c,按:q!

x 删除当前字符 Ctrl+c,按x

X 删除前面一个字符 Ctrl+c,按X

D 删除光标后所有内容 Ctrl+c,按D

10,20y 复制第10行至第20行之间的内容Ctrl+c,输入:10,20y,执行命令后按p

0 跳转至光标绝对行首 Ctrl+c,按0(零)

$ 跳转至光标绝对行尾 Ctrl+c,按$

H 移动光标到当前屏幕最上边一行 Ctrl+c,按H

M 移动光标到当前屏幕上中间的一行 Ctrl+c,按M

L 移动光标到当前屏幕上最下边的一行 Ctrl+c,按L

:/ks 根据字符查找(查找ks,查找到的字符会标记颜色)Ctrl+c,输入:/ks

nohl取消标记 Ctrl+c,输入:nohl

J 将下一行和当前行连接为一行 Ctrl+c,按J

c 删除当前行,并进入编辑模式 Ctrl+c,按c

c$ 删除光标处后方内容,并进入编辑模式 Ctrl+c,按c$

s 删除当前字符,并进入编辑模式 Ctrl+c,按s

S 删除当前行,并进入编辑模式: Ctrl+c,按S

:10,20w /k1 将10行到20行的内容单独创建到根目录下新建的k1文件( 重点)

Ctrl+c,输入:10,20w /k1

:set nu 显示行数 Ctrl+c,输入:set nu

:set nonu 不显示行数 Ctrl+c,输入:set nonu

:%s/ddfj/aaaa/g 将每一行中的ddfj替换为aaaa Ctrl+c,输入:%s/ddfj/aaaa/g

:%s/a/m 替换每一行第一个匹配的字符,(将a替换为m)Ctrl+c,输入:%s/a/m

:1,4s/w/f/g

替换1到4所有匹配上的字符(将w替换为f) Ctrl+c,输入:1,4s/w/f/g

:1,4s/w/f

替换1到4第一个匹配上的字符(将w替换为f) Ctrl+c,输入:1,4s/w/f

Ctrl+c

结束当前进程

Ctrl+z

退出当前页面,进程在后台运行

单个注释直接在行首,添加#号

批量注释。

使用下面命令在指定的行首添加注释。

使用名命令格式: :起始行号,结束行号s/^/注释符/g(注意冒号)。

取消注释:

使用名命令格式: :起始行号,结束行号s/^注释符//g(注意冒号)。

相关推荐
CoolTiger、1 小时前
【Vmware16安装教程】
linux·虚拟机·vmware16
学习3人组2 小时前
CentOS 中配置 OpenJDK以及多版本管理
linux·运维·centos
厨 神3 小时前
vmware中的ubuntu系统扩容分区
linux·运维·ubuntu
Karoku0663 小时前
【网站架构部署与优化】web服务与http协议
linux·运维·服务器·数据库·http·架构
geek_Chen013 小时前
虚拟机共享文件夹开启后mnt/hgfs/下无sharefiles? --已解决
linux·运维·服务器
(⊙o⊙)~哦3 小时前
linux 解压缩
linux·运维·服务器
牧小七4 小时前
Linux命令---查看端口是否被占用
linux
鸡鸭扣5 小时前
虚拟机:3、(待更)WSL2安装Ubuntu系统+实现GPU直通
linux·运维·ubuntu
友友马6 小时前
『 Linux 』HTTP(一)
linux·运维·服务器·网络·c++·tcp/ip·http
记得开心一点嘛7 小时前
在Linux系统上使用Docker部署javaweb项目
linux·运维·docker