Linux中vi/vim编辑器的三种模式 详解

目录

  • 1.vim命令
  • 2.vim编辑器的三种模式
    • 2.1 命令模式
    • 2.2 输入模式
    • 2.3 末行模式
  • 3.总结
    • 1)vim编辑器有三种模式
    • 2)命令模式下的操作
    • 3)输入模式下的操作
    • 4)末行模式下的操作

1.vim命令

文本编辑器,可以创建并编辑新文件
Linux中vi/vim编辑器的三种模式 详解_第1张图片

命令格式

vim [选项] 文件名

Linux中vi/vim编辑器的三种模式 详解_第2张图片
在这里插入图片描述

[选项]
vim +n   //从第n行开始编辑

Linux中vi/vim编辑器的三种模式 详解_第3张图片

!vim   //打开最近文件

在这里插入图片描述

2.vim编辑器的三种模式

  • 命令模式:光标的移动 跳转 复制 删除 …
  • 输入模式:对文件内容进行编辑
  • 末行模式:退出vim编辑器,保存,实现格式的设置…
    Linux中vi/vim编辑器的三种模式 详解_第4张图片

2.1 命令模式

Linux中vi/vim编辑器的三种模式 详解_第5张图片

行间移动

G 跳转到最后一行

1G, gg  跳转到第一行

10G 跳转到第10行


/

字符编辑
x 剪切光标处的字符

#x 剪切光标处起始的#个字符
xp 交换光标所在处的字符及其后面字符的位置
~ 转换大小写
J(大写) 删除当前行后的换行符

/
替换命令(replace)
r 只替换光标所在处的一个字符

R 一直替换,切换成REPLACE模式(在末行出现-- REPLACE -- 提示),按ESC回到命令模式

/

删除命令(delete)
d 删除命令,可结合光标跳转字符,实现范围删除

d$ 删除到行尾
d^ 删除到非空行首
d0 删除到行首
dw 删除光标所在单词
de 删除到当前或下一个单词的词尾
db 删除到当前或上一个单词的词首

dd   删除光标所在整行(剪切  ctrl x)

ndd 多行删除,删除n行
3dd  删除3行

/

复制命令(yank)

y 复制,行为相似于d命令

yy:复制行
10yy  复制10行

Y:复制整行


/
撤消更改

u 撤销最近的更改,相当于windows中ctrl+z

U 撤消光标落在这行后所有此行的更改

Ctrl-r 重做最后的“撤消”更改,相当于windows中crtl+y

/
重复操作

.    重复前一个操作
n.   重复前一个操作n次

2.2 输入模式

Linux中vi/vim编辑器的三种模式 详解_第6张图片

i  从当前光标开始编辑
o 从当前光标的下一行开始编辑

2.3 末行模式

Linux中vi/vim编辑器的三种模式 详解_第7张图片

:q    不保存退出
:q!   强制退出且不保存
:wq 保存并退出
:w  新文件名    // 文件另存为

在这里插入图片描述
在这里插入图片描述

:set nu  或:set nonu                   加行号   不显示行号

Linux中vi/vim编辑器的三种模式 详解_第8张图片

set r 新文件名     //读入新文件
set key=password             加密码
set key=空白                  取消密码 

在这里插入图片描述
Linux中vi/vim编辑器的三种模式 详解_第9张图片

查找替换
:  范围 s    /旧字符/新字符 / 修饰符

– 范围 (替换的范围)

默认是光标所在行

n 第n行

n,m 第n行到第m行 // n m为具体数字

% 全文

–旧字符 被替换的

可以用正则表达式匹配

–新字符 替换的

不能用正则表达式,必须是真实字符(不能是范围)

–修饰符

g全局 (globel)

i忽略大小写(ignore)

不加修饰符 默认修改此行第一个

3.总结

1)vim编辑器有三种模式

命令模式 输入模式 和 末行模式

2)命令模式下的操作

行间跳转:

G   最后一行

gg   第一行    1G

10G  第10行

$   最后一行



复制

yy 复制整行

2yy  向下复制两行



粘贴

p 向下粘贴

P 向上粘贴



删除

d

dd  删除(剪切)整行

2dd 向下删除两行



行内

0 行首

$  行尾



撤销

u 撤销一次

U 撤销所有

3)输入模式下的操作

i  从光标所在开始编辑
o  从光标所在行的下一行开始编辑

4)末行模式下的操作

q 不保存退出  q! 强制退出不保存  wq 保存退出
w 新文件名   //将当前编辑文件 另存为新文件
r 新文件名     //读入新文件
set nu   //行号显示
[范围] set  /被替换的 /替换的/ [修饰词]    //查找替换

// 范围
set.....      //光标所在查找替换
% set ....    //全文查找替换
n set ...     // 第n行 查找替换   n为具体数字
n,m set....   // n行到m行间查找替换,n m为具体数字

//
被替换的字符可以用正则表达式匹配 

//
替换的字符不能用正则表达式,必须是真实字符

//修饰词
g 全局替换     
set /../../g   //替换光标所在行所有符合的目标

i 忽略大小写替换

你可能感兴趣的:(Linux,linux,编辑器,vim)