【Linux】②vim文本编辑器

改动时间2020-03-12 20:42:32

vi与vim的区别

  • vi是基本命令,不需要安装
  • vim需要安装yum -y install vim,可以代码高亮,更适用于编码

Vim常用操作

基本流程

vi /root/text.txt进入,文件不存在会自动创建一个空文件
i a o输入[插入模式] Esc退出[插入模式]
:[命令模式]例如:set nu设置行号
:wq退出

插入

a光标所在字符后插入
A光标所在行后插入
i光标所在字符前插入
I光标所在行前插入
o光标下插入新行
O光标上插入新行

定位

:set nu设置行号
:set nonu取消行号
gg到第一行
G到最后一行
nG :n到第n行
0到行首
$到行尾

删除

x删除光标所在字符
nx删除光标所在处后n个字符
dd删除当前行
ndd删除n行
dG删除光标所在行至末尾
D删除光标所在位置到当前行尾
:n1,n2d 删除指定范围行,例如删除 3 4 5行:3,5d

复制&剪切

yy复制当前行
nyy复制当前行以下n行
dd剪切当前行
ndd剪切当前行以下n行
p P小写粘贴在所在行下面,大写是上面

替换&取消

r替换一个字符,例如光标所在是a输入rA就改为了A
R一直替换,用Esc键结束
u取消上一步操作

搜索&替换

/内容搜索指定字符串,例如/hello搜索hello字符串
n查找下一个
:set ic忽略大小写
:set noic区分大小写
:%s/内容1/内容2/g(这里的%s代表全文替换)把内容1全部替换为内容2
:3,5s/内容1/内容2/g把第3 4 5行的内容1替换为内容2
:3,5s/内容1/内容2/c把第3 4 5行的内容1替换为内容2,替换时会进行询问确认

保存和退出命令

:w保存修改
:w new_filename另存为一份新的文件
:wq保存修改并退出
ZZ快捷键,保存修改并退出
:q!不保存修改内容并退出
:wq!强制保存并退出(文件所有者和root可使用,即使没有可写权限)

Vim使用技巧

导入文件

:r /etc/issue把指定文件的内容导入到光标所在行的下面

执行命令

:! ls /etc不退出vim的情况下执行命令ls /etc 再回车进入vim
:r! date把命令date的结果输入到vim中,光标所在行的下面

定义快捷键

  • :map ^p I#<ESC>创建快捷键Ctrl+P给当前行首加上#注释
    • 注意这里的^p输入的时候要同时按着Ctrl+V+P三个键
    • 这里的I表示光标移到行首并进行插入
    • 这里的#表示要插入的内容
    • 这里的ESC表示插入之后进行退出
  • :map ^B 0x创建快捷键Ctrl+B给当前行首删除一个字符
    • 注意这里的^B输入的时候要同时按着Ctrl+V+B三个键
    • 这里的0表示光标移到行首
    • 这里的x表示删除一个字符

多行插入

  • :1,4s/^/#/g第一行到第四行的行首加个#
    • 这里的1,4表示1,2,3,4行进行操作 如果是%表示全文
    • 这里的^代表行首
    • 这里的#表示在行首添加#
  • :1,4s/#//g第一行到第四行所有的#替换为空
  • :1,4s/^#//g第一行到第四行所有以#开头的,第一个#替换为空
  • :3,5s/^/\/\//g第三行到第五行的开头添加//
    • 因为需要\转义,所以//写成了\/\/

文本替换

:ab myqq 1801957499输入myqq就会替换为1801957499

指令永久有效

root/root下面创建.vimrc文件,不用输入:
在这里插入图片描述
普通用户taopanfeng/home/taopanfeng下面创建.vimrc文件