8/1 day7-VIM编辑器

1.什么是VIM

vi和vim是Linux下的一个文本编辑工具类似于windows的记事本

2.VIM与VI有什么关系?有什么区别?

其实上本质没有区别,vim是vi的增强版,vi没有语法高亮,语法检测vim有

系统默认最小化安装 没有vim 需要 yum安装

3.VIM四种模式

1.普通模式

①光标跳转

G                          光标跳转至末端

gg                         光标跳转至顶端

Ngg                      光标跳转至当前文件内的N行

$                            光标跳转至当前光标所在行的尾部

^|0                        光标跳转至当前光标所在行的首部

②大文件ctrl+f                      往下翻页

ctrl+b                                    往上翻页

③复制与粘贴

yy                            复制当前光标所在的行

5yy                          复制当前光标以及光标向下4行

p                              粘贴至当前光标下一行 

P(大写)              粘贴至当前光标上一行

④删除、剪贴、撤销

dd                            删除当前光标所在的行 

4dd                          删除当前光标所在的行以及往下的3行

dG                           删除当前光标以后的所有行

D                              删除当前光标及光标以后的内容

x                              删除当前光标标记往后的字符

X                              删除当前光标标记往前的字符

dd & p                    剪切:先删除dd,后粘贴p

u                              撤销上一次的操作

⑤替换r                                

替换当前光标标记的单个字符R                              

  进入REPLACE模式, 连续替换,ESC结束

2编辑模式 

i                                进入编辑模式,光标不做任何操作

a                                进入编辑模式,将当前光标往后一位

o                                进入编辑模式,并在当前光标下添加一行空白内容

I                                进入编辑模式,并且光标会跳转至本行的头部

A                              进入编辑模式,将光标移动至本行的尾部

O                              进入编辑模式,并在当前光标上添加一行空白内容

Esc回到普通模式

编辑模式无法直接进去命令模式

3命令模式 

①文件保存与退出

:w                                保存当前状态

:w!                              强制保存当前状态

:q                                退出当前文档(文档必须保存才能退出)

:q!                                强制退出文档不会修改当前内容

:wq                              先保存,在退出

:wq!                              强制保存并退出

:x                                  先保存,在退出

ZZ                                保存退出, shfit+zz

:number                      跳转至对应的行号

②文件内容查找

/                                     需要搜索的内容(查找)

n                                    按搜索到的内容依次往下进行查找

N                                    按搜索到的内容依次往上进行查找

③文件内容替换:

1,5s#sbin#test#g          替换1-5行中包含sbin的内容为test

:%s#sbin#test#g            替换整个文本文件中包含sbin的替换为test

:%s#sbin#test#gc          替换内容时时提示是否需要替换

④文件内容另存

:w /root/test.txt              将所有内容另存为/root/test.txt文件中

⑤文件内容读入 

:r  /etc/hosts                    读入/etc/hosts文件至当前光标下面

:5r /etc/hosts                  指定插入/etc/hosts文件至当前文件的第五行下面

4.视图模式(从普通模式进入视图模式),主要进行批量操作

ctrl+v  进入可视块模式,选中需要注释的行

①.插入:

按shift+i进入编辑模式,输入#,结束按ESC键

②.删除:选中内容后,按x或者d键删除

③.替换:选中需要替换的内容, 按下r键,然后输入替换后的内容

shift+v 进入可视行模式,选中整行内容

①.复制:选中行内容后按y键及可复制。

②.删除:选中行内容后按d键删除。

4.VIM扩展知识

①.环境变量临时生效

:set nu                                  显示行号

:set ic                                    忽略大小写, 在搜索的时候有用

:set ai                                    自动缩进

:set list                                  显示制表符(空行、tab键)

:set no[nu|ic|ai…]                取消临时设定的变量

②.环境变量永久生效。

~/.vimrc 个人环境变量(优先级高) /etc/vimrc 全局环境变量

vim  ~/.vimrc                        

  当下次再打开文件自动显示行号并忽略大小写

set nuset ic

如果个人vim环境没有配置, 则使用全局vim环境变量配置。如果个人vim环境和全局环境变量产生冲突, 优先使用个人vim环境变量

③.如何同时编辑多个文件

vim -o file1 file2                        水平分割

vim -O file1 file2                        垂直分割

ctrl+ww 文件间切换

④.相同文件之间差异对比,通常用于对比修改前后差异

diff                                                文件对比 

vimdiff                                          以vim方式打开两个文件对比,高亮显示不同的内容

⑤.如果VIM非正常退出 (ctrl+z)挂起或强制退出终端没关闭VIM后

假设打开XXXX文件被意外关闭,需要删除同文件名的.swp文件即可解决

rm -f .XXXX.swp

你可能感兴趣的:(8/1 day7-VIM编辑器)