vim编辑器

一、vi和vim的关系

vim是vi的升级版,可以高亮显示文本、实现自动缩进等,就像Window的notepad和notepad++的关系一样,推荐大家使用vim编辑器(有些最小化版本中可能需要自行安装)。

为了统一vi和vim(都用vim),可以执行别名操作:

当前用户临时生效:alias vi=vim

当前用户永久生效:echo “alias vi=vim”>>.bash_profile

所有用户永久生效:echo “alias vi=vim”>>/etc/profile

【注】/etc/profile、~/.bash_profile、/etc/bashrc、~/.bashrc的关系。

profile文件是当用户login时加载的配置文件:

某一用户配置文件:~/.bash_profile[source  ~/.bashrc[source  /etc/bashrc[/etc/profile.d]]]

所有用户配置文件:/etc/profile[/etc/profile.d]

说明:前面的文件会读取或加载方括号[]里面的文件

二、vim优化

举例:vim打开后可以显示行号

当前用户vim永久生效:echo “set nu”>>.vimrc

所有用户vim永久生效:echo “set nu”>>/etc/vimrc

具体优化脚本:

链接:https://pan.baidu.com/s/1YfeG23sVlcTCs2f2Uo5RTg

提取码:11js

参考资料:《老男孩Shell编程》P298~303

三、vim四种模式总结

(1)命令模式

描述:执行定位、复制、粘贴、删除、撤销、恢复等操作。

 

操作

描述

定位

ngg定位第n行

常用:

(1)1gg定位到第1行,G定位到最后1行

(2)Home定位到行首,End定位到行尾

复制

nyy从上到下复制n行,包括光标所在行

常用:yy复制光标所在行

粘贴

p或者P

(1)p在光标所在行下一行粘贴

(2)P在光标所在行上一行粘贴

删除

ndd从上到下删除n行,包括光标所在行

常用:

(1)dd删除光标所在行

(2)d0删除光标位置到行首(不含光标)

(3)d$或者D删除光标位置到行首(含光标)

(4)d1gg删除光标行到文本首行

(5)dG删除光标行到文本尾行

撤销

u

恢复

Ctrl+r

参考资料:

①《老男孩命令》P148~149

②《老男孩Shell编程》P307~308

(2)编辑模式

描述:修改文件。

①命令模式→编辑模式,需要执行以下命令:

命令

描述

i

在光标位置前面插入文本

I

在行首插入文本

a

在光标位置后面插入文本

A

在行尾插入文本

o

在光标所在行下一行插入文本

O

在光标所在行上一行插入文本

②编辑模式→命令模式,需要Esc,然后输入冒号(:),接着执行以下命令

命令

描述

q

没有修改文本,直接退出

wq

写入并退出

q!

修改文本后,要退出必须加!(强制退出)

wq!

对没有权限写的文件,强制写入,通常需要root权限。

参考资料:《老男孩命令》P150

(3)扩展命令模式

描述:可显示行号、执行替换操作、执行Shell命令等。

①命令模式→扩展命令模式,直接输入冒号(:),执行命令即可。

命令

描述

:set nu

显示行号

:set nonu

取消显示行号

:%s@aa@bb@g,Enter

将文本中的aa全部替换为bb

:!ifconfig eth0

不退出vim,并且执行命令

②扩展命令模式→命令模式,先输入冒号(:),再按两下Esc。

参考资料:《老男孩命令》P150

(4)可视模式

描述:通常用来批量操作文本。

①命令模式→可视模式,Ctrl+V。

②可视模式→命令模式,按两下Esc。

常见操作:在/etc/passwd文件中批量注释用户的步骤。

(1)备份文件/etc/passwd

(2)光标定位到需要注释的第一行

(3)执行Ctrl+V,进入可视模式

(4)用键盘下方向键选中需要注释的第一行到最后一行(鼠标选中文本无效)。

(5)I(大写字母i)

(6)输入#号

(7)连续按两下Esc

(8)保存退出

原文地址:https://www.cnblogs.com/zxjcwang/p/13855527.html