vim 编辑器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vim 编辑器相关的知识,希望对你有一定的参考价值。

vim 编辑器

什么是vim

vim​ 是Linux系统中⼀个强⼤的⽂本编辑器。

vim​ 功能⽐ ​vi​ 强⼤

为什么要使⽤vim

  • 编辑配置⽂件
  • 写脚本
  • 批量修改
  • 查找内容
  • 语法检测⾼亮显示

vim的三种⼯作模式


命令模式(普通模式)

  • 最开始使⽤vim命令打开⽂件时,即进⼊命令模式

跳转光标​:

G:(Shift + g)将光标快速跳转到⽂件的末尾
gg:将光标跳转到⽂件的开头
Ngg:N代表阿拉伯数字,将光标跳转到第N⾏
$:(Shift + 4)将光标跳转到⾏末
^:(shift + 6)将光标跳转到⾏⾸

复制粘贴​:

yy:复制光标所在⾏的内容
Nyy:(YNY)N代表阿拉伯数字,复制光标所在⾏及后N⾏内容
p:将复制的内容,粘贴到光标所在⾏的下⼀⾏
P:将复制的内容,粘贴到光标所在⾏的上⼀⾏

删除剪切​:

dd:剪切,删除光标所在⾏的内容
Ndd|dNd:剪切,删除指定⾏数的内容
dG:删除光标所在⾏到⽂件末尾所有⾏的内容
D:将光标所在字符删除⼀直删到⾏末
x:剪切,删除光标所在字符
X:剪切,删除光标所在字符的前⼀个字符

撤销替换​:

r:替换光标所在字符
R:批量替换字符,替换光标所在字符及后⾯所有字符,直到按ESC结束
u:撤销上⼀步操作
Ctrl+r:恢复撤销

保存退出

ZZ:(Shift + zz) 保存并退出

编辑模式(输⼊模式)

  • 从命令模式切换到编辑模式
# 进⼊编辑模式的标识,左下⻆ -- INSERT --
a:在光标所在字符之后,进⼊编辑模式
A:将光标跳转到⾏末,并进⼊编辑模式

o:在光标所在⾏的下⼀⾏(另起⼀⾏)进⼊编辑模式
O:在光标所在⾏的上⼀⾏,进⼊编辑模式

i:在光标所在字符之前进⼊编辑模式
I:将光标移动到⾏⾸,并进⼊编辑模式

s:删除光标所在字符,并进⼊编辑模式
S:删除光标所在⾏⼀整⾏内容,并进⼊编辑模式
  • 从编辑模式切换回命令模式
ESC

末⾏模式(底⾏模式)

  • ⽂件的保存退出
# 进⼊末⾏模式 只能从命令模式⼊末⾏模式
## ⽅式⼀ 输⼊:
## ⽅式⼆ 输⼊/

:w # write 写⼊,保存
:q # quit 退出
:wq # 保存并退出
:w! # 强制保存
:q! # 强制退出
:wq! # 强制保存并退出
:x # 保存退出
  • 跳转⾏号
# 命令模式中,跳转⾏号 Ngg

:N N代表阿拉伯数字,将光标跳转到指定的⾏
  • 内容的查找和替换
## 内容查找
/string:查找想要查找的字符串,输⼊回⻋后会⾼亮显示
按n:向下查找下⼀个字符串
按N:向上查找上⼀个字符串

## 内容替换
:/原内容/要替换的内容/
:/root/zls/ # 把root替换成zls(只这么写,不⽣效)
:s/root/zls/ # s:查找并替换
:s/root/zls/g # g:global 全局(默认只替换提⼀⾏内容)
:1,10s/root/zls/g # 1,10 把1-10⾏匹配到的内容全部替换

:%s###g
#举例::%s#com#cnn#g
1 https://blog.driverzeng.com/index.html 2 https://blog.driverzeng.com/1.html
3 http://post.driverzeng.com/index.html
4 http://mp3.driverzeng.com/index.html
5 https://blog.driverzeng.com/3.html
6 http://post.driverzeng.com/2.html

1 https://blog.driverzeng.cnn/index.html
2 https://blog.driverzeng.cnn/1.html
3 http://post.driverzeng.cnn/index.html
4 http://mp3.driverzeng.cnn/index.html
5 https://blog.driverzeng.cnn/3.html
6 http://post.driverzeng.cnn/2.html

: %s#com#cnn#g ### 推荐⽅式

# 分隔符可以随意使⽤,建议就是,原内容和新内容,⾥⾯不包含你写的分隔符即可。
比如:%s@@@g %s///G

末⾏模式报错

## ⽂件内容修改后,不保存想退出 :q,必须加!退出
E37: No write since last change (add ! to override)

## 针对root⽤户,只读⽂件⽆法修改,保存退出需要加! :wq!
E45: readonly option is set (add ! to override)

## ⽆法打开这个⽂件
E212: Unable to open and write files

末⾏模式其他功能

# 显示⾏号
:set number # 简写: :set nu

# ⾃动缩进
:set autoindent # 简写: :set ai

# 不区分⼤⼩写
:set ignorecase # 简写: :set ic

# 查看⽂件中的结尾和制表符,等特殊符号
:set list

## 取消设置
:set noai|ic|nolist
:set nonu
:set noai
:set noic
:set nolist

vim视图模式

  • 视图模式,是属于命令模式之下的⼀种模式

块视图模式:

Ctrl + v : 进⼊可视块视图模式
-- VISUAL BLOCK --

# 1.按光标删除选中的所有字符 x
# 2.批量修改⽂件(添加注释)
1.按Ctrl + v进⼊可视块视图模式

2.移动光标
- 1.按下键
- 2.Ngg
- 3.G
3.按 Shift + i 进⼊编辑模式
4.输⼊ "#"
5.按ESC退出编辑模式

#举例:
1 #https://blog.driverzeng.com/index.html
2 #https://blog.driverzeng.com/1.html
3 #http://post.driverzeng.com/index.html
4 #http://mp3.driverzeng.com/index.html
5 #https://blog.driverzeng.com/3.html
6 #http://post.driverzeng.com/2.html

⾏视图模式:

shift + v 进⼊⾏视图模式

vim扩展选项

## ⽂件对⽐命令:diff (不推荐)
021:56:27 root@leidage,10.0.0.100:~ # diff 1.txt 2.txt
2,3c2,3
< asdf
< 12345
---
> asd
>

## ⽂件对⽐命令:vimdiff(推荐)

## vim 同时编辑多个⽂件
-o:⽔平分割
-O:垂直分割

## Ctrl + ww 切换⽂件

## 编辑⽂件指定的⾏
vim +N :N代表阿拉伯数字


以上是关于vim 编辑器的主要内容,如果未能解决你的问题,请参考以下文章

vim 编辑器

vim打开文件中每行末尾都带有 ^M

vim编辑器

Linux Vim编辑器

vim 编辑器设置 行号和缩进

vim常识