0

CentOS vim编辑器

 2 years ago
source link: https://blog.51cto.com/baicia/5166324
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

CentOS vim编辑器

原创

白菜素三鲜丶 2022-03-31 14:32:52 ©著作权

文章标签 html bash vim 文章分类 虚拟化 云计算 阅读数149

什么是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(不推荐)
    CentOS vim编辑器_bash

  • vimdiff(推荐)

[root@localhost ~]# vimdiff 2.txt web.log
CentOS vim编辑器_vim_02

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

[root@localhost ~]# vimdiff -o 2.txt web.log
CentOS vim编辑器_html_03

[root@localhost ~]# vimdiff -O 2.txt web.log
CentOS vim编辑器_html_04

  • Ctrl + ww 切换⽂件
  • vim +N 编辑⽂件指定的⾏(N代表阿拉伯数字)
  • 收藏
  • 评论
  • 分享
  • 举报

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK