2019独角兽企业重金招聘Python工程师标准>>>

hellopasswd


vim的介绍

  • vim是类Unix的文本编辑工具,是在vi的基础上改进,增加了语法高亮等其他特性。
  • 查看vim版本
[root@localhost]# vim --version | head -1
  • 查看包名
[root@localhost]# rpm -qa | grep vim
  • 语法高亮
[root@localhost ~]# yum install -y vim-enhanced

使用这条命令使某些系统文件以语法高亮显示

一般模式

1.移动光标

h	#向左移动一个字符
j	#向下移动一个字符
k	#向上移动一个字符
l	#向右移动一个字符

H	#光标移动到本屏幕的最顶端
M	#光标移动到本屏幕的最中央
L	#光标移动到本屏幕的最低端

$	#光标移动到本行行首
0/^	#光标移动到本行行尾

gg	#光标移动到本文的最首行
G	#光标移动到本文的最末行

Ctrl+f	#上一页
Ctrl+b	#下一页

2. 撤销与重复

u    #撤销
Ctrl+r	#不撤销
.    #重复

3. 选择

v    自由选择

4. 复制

	yy	#复制光标当前行
	nyy	#复制光标当前行到第n行
	ygg	#复制光标当前行到文本行首
	yG	#复制光标当前行到文本末尾

4. 删除或剪切

x    #删除光标所在的当前字符
X    #删除光标前一个字符

nx    #删除当前字符到右侧n个字符
dw    #删除光标右侧的所有字符,若是单词也包括右侧的空格
ndw    #删除光标右侧的n个字符,若是单词也包括右侧的空格
db    #删除光标左侧的所有字符,若是单词也包括左侧的空格
ndb    #删除光标左侧的n个字符,若是单词也包括左侧的空格
dd    #删除光标所在行
ndd    #删除(剪切)n行内容
d$    #删除光标到右侧的所有字符,同D
d0    #删除光标左侧的所有字符
J    #删除本行回车字符与下一行的行前空格符,并与下一行合并,合并后与行间隔着空间

5. 粘贴

p	#从光标所在行开始,向下粘贴已经复制或者粘贴的内容
P	#从光标所在行开始,向上粘贴已经复制或粘贴的内容

INSERT插入模式(编辑模式)

1. 光标插入

i    #光标在左插入
a    #光标在右插入
I    #行开头前插入
A    #行结尾后插入

o    #行的上一行插入
O    #行的下一行插入

s    #删除当前光标所在的字符,并且插入
ns    #删除光标所在行到右侧的第n个字符,并且插入
S    #删除当前光标所在行,并且插入
nS    #删除当前光标所在行到后面第n行,并且插入

2. 替换

rc    #用c替换当前光标所在的当前字符
nrc    #用c替换当前光标到右侧n个字符
s    #删除当前光标所在的字符,并且插入
ns    #删除光标所在行到右侧的第n个字符,并且插入
S    #删除当前光标所在行,并且插入
nS    #删除当前光标所在行到后面第n行,并且插入
cw    #替换(删除)右侧()内字符或单词,并且插入
cW    #替换(删除)右侧所有字符,并且插入,通c$

在退出插入模式时,则键盘按ESC可退回一般模式

命令模式

1. 查找

:/word	#向光标之后寻找一个字符串名为word的字符串,按n继续搜下一个,按N搜回上一个
:?word	#向光标之前寻找一个字符串名为word的字符串,按n继续搜上一个,按N搜回下一个
:n1,n2s/word1/word2/	#在n1和n2行间查找word1这个字符串并替换为word2,但只替换每行的第一个字符串
:n1,n2s/word1/word2/g	#在n1和n2行间查找word1这个字符串并替换为word2,用法同n1,n2s#word1#word2#g
:1,$s/word1/word2/g	#第一行到最末行,查找word1并替换成word2
:1,$s/word1/word2/gc	#加上c的作用是,在替换前需要用户确认

2. 打开、保存、退出

:e path_to_file    #从绝对路径打开文件
:w    #保存
:w!    #强制保存
:w file_temp    #文件另保存为
:q    #退出
:q!    #强制退出
:wq!    #强制保存并退出

3. 其他

:set nu    #显示行号
:set number	#显示行号
:set nonu    #不显示行号

:nohl    #取消颜色高亮

:n1,n2d	#将n1行到n2行的所有内容删除

:w path_to_file	#将当前编辑的文件另保存为
:r path_to_file	#将指定的文件导入当前编辑的文件

:!cat path_to_file	#不退出当前编辑的文件,并运行linux命令
:r! cat path_to_file	#将命令的执行结果导入当前编辑的文档

:new path_to_file	#窗口水平分隔,使用ctrl+w切换
:vsplit path_to_file	#窗口垂直分隔,使用ctrl+w切换
:only	#只保留当前窗口,关闭其他窗口

:set ic	#搜索或替换关键时,不分大小写
:set noic	#取消不分大小

:set backup	#备份
:set wrapfile	#备份
:set nobackup	#不备份
:set nowrap	#不备份

:set wrap	#换行
:set nowrap	#不换行

:set ruler	#显示光标当前位置
:set showmode	#显示左下角当前vim模式
:set enconding=utf-8	#文件编码
:set readnoly	#设置文件为只读,需要强制保存
:e!	#将文件恢复到打开时的状态

其他

  1. 配置永久生效,防止主机重启后,临时设置消失,在/etc/vimrc末尾加入需要设置的命令,对全体用户统一

  2. 对指定用户设置,在用户的家目录中修改或创建.vimrc文件

操作

[root@localhost ~]# touch /home/1.txt
[root@localhost ~]# echo "/etc/passwd" >> /home/1.txt
[root@localhost ~]# vi /home/1.txt
	/etc/passwd
一般模式
	y
	4p
命令模式
	:1,$s/\/etc\/passwd/\/etc\/shadow/g
	:1,$s#/etc/shadow#/etc/passwd#g
	:set nu
	:set nonu
	:wq
[root@localhost ~]# vi
命令模式
	:e /home/1.txt
	:.,$d
	:q!
[root@localhost ~]# vi +3 /home/1.txt    #使用此命令可以在打开文本时,将光标定在特定行上
一般模式
	r #
命令模式
	:1,$s#\#etc/passwd#/etc/shadow#g
	:w
一般模式
	r @
   	u
命令模式
	:q

修改于171107

转载于:https://my.oschina/hellopasswd/blog/1563498

更多推荐

【CentOS 7笔记25】,Vim的使用#171107