CentOS vim编辑器

Posted 白菜素三鲜丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 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+u # 恢复撤销

保存并退出

shift+zz
ZZ

编辑模式(输入模式)

从命令模式切换到编辑模

# 进⼊编辑模式的标识,左下⻆ -- INSERT --

a # 在光标所在字符之后,进⼊编辑模式
A # 将光标跳转到⾏末,并进⼊编辑模式
o # 在光标所在⾏的下⼀⾏(另起一行)进入编辑模式
O # 在光标所在⾏的上⼀⾏,进⼊编辑模式
i # 在光标所在字符之前进⼊编辑模式
I # 将光标移动到⾏⾸,并进⼊编辑模式
s # 删除光标所在字符,并进⼊编辑模式
S # 删除光标所在⾏⼀整⾏内容,并进⼊编辑模式

从编辑模式切换回命令模式

Esc

末⾏模式(底行模式)

文件的保存退出

# 进⼊末⾏模式,只能从命令模式⼊末⾏模式
## ⽅式⼀ 输⼊:
## 方式二 输入/

:w # write 写⼊,保存
:q # quit 退出
:wq # 保存并退出
:w! # 强制保存
:q! # 强制退出
:wq! # 强制保存并退出
:x # 保存退出

跳转⾏号

# 命令模式中,跳转⾏号 Ngg 或 NG
:N N代表阿拉伯数字,将光标跳转到指定的⾏

内容的查找和替换

## 内容查找
/string # 查找想要查找的字符串,输⼊回⻋后会⾼亮显示
按n # 向下查找下⼀个字符串
按N # 向上查找上⼀个字符串

## 内容替换
[root@localhost ~]# cat web.log 
https://blog.driverzeng.com/index.html
https://blog.driverzeng.com/1.html
http://post.driverzeng.com/index.html
http://mp3.driverzeng.com/index.html
https://blog.driverzeng.com/3.html
http://post.driverzeng.com/2.html

wttps://blog.driverzeng.com/index.html
https://blog.driverzeng.com/1.html
http://post.driverzeng.com/index.html
http://mp3.driverzeng.com/index.html
https://blog.driverzeng.com/3.html
http://post.driverzeng.com/2.html
~                                                                                     :s/h/w # s:查找并替换

wttps://blog.driverzeng.com/index.wtml
https://blog.driverzeng.com/1.html
http://post.driverzeng.com/index.html
http://mp3.driverzeng.com/index.html
https://blog.driverzeng.com/3.html
http://post.driverzeng.com/2.html
~
:s/h/w/g # g:global 全局(默认只替换提⼀⾏内容)

1 wttps://blog.driverzeng.com/index.wtml
  2 wttps://blog.driverzeng.com/1.wtml
  3 wttp://post.driverzeng.com/index.wtml
  4 http://mp3.driverzeng.com/index.html
  5 https://blog.driverzeng.com/3.html
  6 http://post.driverzeng.com/2.html
~
  :1,3s/h/w/g # 1,10 把1-10⾏匹配到的内容全部替换

 1 wttps://blog.driverzeng.com/index.wtml
  2 wttps://blog.driverzeng.com/1.wtml
  3 wttp://post.driverzeng.com/index.wtml
  4 wttp://mp3.driverzeng.com/index.wtml
  5 wttps://blog.driverzeng.com/3.wtml
  6 wttp://post.driverzeng.com/2.wtml
~
:%s/h/w/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 nu | set number # 显示行号
:set ai | :set autoindent # 自动缩进
:set ic | :set ignorecase # 不区分大小写
:set list # 查看⽂件中的结尾和制表符,等特殊符号

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

vim视图模式

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

  • 块模式
ctrl+v # 进入可视块视图模式
-- VISUAL BLOCK -- 

1.按光标删除选中的所有字符 x
2.批量修改⽂件(添加注释)
(1)按Ctrl+v 进⼊可视块视图模式
(2)移动光标
    -.按下键
    -.Ngg
    -.G
(3)按shift+i 进入编辑模式
(4)输⼊ "#"
(5)按ESC退出编辑模式
  • 行视图模式
shift+v 进⼊⾏视图模式

vim扩展选项

⽂件对⽐命令

  • diff(不推荐)

  • vimdiff(推荐)

[root@localhost ~]# vimdiff 2.txt web.log

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

[root@localhost ~]# vimdiff -o 2.txt web.log

[root@localhost ~]# vimdiff -O 2.txt web.log

  • Ctrl + ww 切换⽂件
  • vim +N 编辑⽂件指定的⾏(N代表阿拉伯数字)

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

linux-CentOS初学terminal命令vi

CentOS7 Vim

你能强制 Vim 在文件末尾显示一个空行吗?

vim 从嫌弃到依赖——可视模式

vim 详解

Vim 可视化模式入门 | Linux 中国