Linux编辑器:vim命令使用详解

vim编辑器的使用

1、vim编辑器: 文本ASCII编辑器,字处理器

三种模式: 末行、输入、编辑
末行-->编辑: 按两下ESC
全屏编辑器,模式化编辑器
修改vim变量编辑/etc/vimrc或在自己家目录vim 、vimrc写入set nu

2、模式转换

- 移动到光标所在行的上一行行首
i 在当前光标所在字符的前面,转为输入模式
I 在当前光标所在行的行首,转换为输入模式
a 在当前光标所在字符的后面,转为输入模式
A 在当前光标所在行的行尾,转换为输入模式
o 在当前光标所在行的下方,新建一行,并转为输入模式
O 在当前光标所在行的上方,新建一行,并转为输入模式
J 把光标所在行的下一行合并到光标所在行
R 替换光标处的单个字符

3、在末行模式中可以执行的命令

nd :n表示数字,d表示删除,结合起来为删除第n行
n,2nd :表示删除第n行2n行中间的所有行{格式:.,$d}
:X :加密或取消加密
!ls /root :可以查看root目录下的内容
q/q! :退出/强制退出
:wq/x/wq! :末行模式下保存退出
ZZ :编辑文件内容后,在编辑模式下可直接保存退出
:e! 撤销所有操作
:sh/exit :暂时离开vim编辑或回到编辑

4、移动光标(编辑模式)

逐字符移动: 
	k: 上   h: 左	l: 右或(空格键)   j: 下或(回车键)
nh :移动n个字符(例如按个2再按h代表向左移动两个字符)以此类推
以单词为单位移动
	w :移至下一个单词的词首
	e :跳至当前或下一个单词的词尾
	b :跳至当前或前一个单词的词首
nw :移动n个单词(例如按个2再按w代表向右移动两个单词)以此类推
行内跳转
	shift+i,0,^,home :行首
	shift+a、$、end :行尾
行间跳转
	G/]] :最后一行
	nG :跳转至第n行
	1G、gg、[[ :第一行
	dG :删除当前到行尾所有行
	d1G :删除当前到行首所有行
	末行模式下,直接给出行号即可

5、翻屏

Ctrl+f: 向下翻一屏
Ctrl+b: 向上翻一屏
Ctrl+d: 向下翻半屏
Ctrl+u: 向上翻半屏

6、删除单个字符

x :删除光标所在处的单个字符(向后删除)
nx :删除光标所在处及向后的共n个字符

7、删除命令: d

d命令跟跳转命令组合使用;
ndw, nde, ndb
dd :删除当前光标所在行
d^ :删除当前光标所在行前的所有字符
d$ :删除当前光标所在行后的所有字符
ndd :删除包括当前光标所在行在内的n行;
末行模式下删除第n到第x行: 1,3d(删除第一行到第三行)
. :表示当前行
$ :最后一行($-1表示倒数第一行)
+n :向下的n行
dd删除后的内容可以p粘贴出来

8、粘贴命令 p

p :如果删除或复制为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面
P :如果删除或复制为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面

9、复制命令 y(用法同d命令)

yw	:复制光标所在行单个单词
nyw	:复制光标所在行后n个单词
y^	:复制光标所在行前的所有字符
y$	:复制光标所在行后的所有字符

10、修改,先删除内容,再转换为输入模式

c :用法同d命令
c$ :删除光标后一行的所有字符

11、替换: r(替换单个字符)

R :进入替换模式,输入的字符替换光标后的字符,按esc键退出替换模式

12、撤消编辑操作 u

u 撤消前一次的编辑操作
连续u命令可撤消此前的n次编辑操作
nu 直接撤消最近n次编辑操作
撤消最近一次撤消操作: Ctrl+r

13、重复前一次编辑操作

.

14、可视化模式

v :按字符移动光标选取字符
V :按行选取

15、查找

/PATTERN :从首部向文件尾部查找
?PATTERN :从尾部向文件首部查找
n :从上向下查找下一个
N :从下向上查找下一个

16、查找并替换s

在末行模式下使用s命令
单行替换: s///g
全文替换: %s///g
#准备替换的行,要结束替换的行@要替换的字符@替换成的字符@gi(g表示全局替换i表示忽略大小写)
	例:、,$-1s/abc/ABC/gi: 表示从当前行开始到倒数第一行结束,忽略大小写全文替换,把abc替换为ABC
#1,$或%: 表示全文
	例如: % s/old/new/g
#末行模式下,从当前行到结束,将这些行的行首加入#号(也可以指定行号)
	:、,$s/^/#/
#末行模式,从当前行到结束,将这些行行首的#号替换为空
	:、,$s/#//
#删除文件中行首的空白字符
	:%s@^[[:space:]]\{1,\}@@g
#将文件中的以至少一个空白字符开头的行,行首加#号
	%s@^[[:space:]]\{1,\}、*@#&@
#删除文件中以#开头且后面跟了至少一个空白字符的行的行首的#号和空白符
	:%s@^#[[:space:]]\{1,\}@@g
将文件中enable=0一行最后的0改为1
	:%s@\(enabled=\)[0-9]@\11@g

17、vim +n :打开文件,并定位在文件第n行{格式:vim +2 文件名}

vim + :打开文件,定位至最后一行{格式:vim + 文件名}
vim +/关键字 :打开文件,定位至第一次被匹配到的关键字的行的行首{格式:vim +/关键字 文件名}

18、使用vim编辑多个文件

vim FILE1 FILE2 FILE3
:next 切换至下一个文件
:prev 切换至前一个文件
:last 切换至最后一个文件
:first 切换至第一个文件
:qa 全部退出
Ctrl+w, ARROW在窗口间切换光标

19、分窗口编辑多个文件

vim -o 文件名1 文件名2 :水平分割显示
vim -O 文件名1 文件名2 :垂直分割显示

20、将另外一个文件的内容填充在当前文件中

:r /path/to/somefile

21、跟shell交互

:! 命令

22、高级话题

1、显示或取消显示行号
	:set number
	:set nu
	:set nonu
2、显示忽略或区分字符大小写
	:set ignorecase
	:set ic
	:set noic
3、设定自动缩进
	:set autoindent
	:set ai
	:set noai
4、查找到的文本高亮显示或取消
	:set hlsearch
	:set nohlsearch
5、语法高亮
	:syntax on
	:syntax off

23、配置文件

全局:/etc/vimrc
个人:~/.vimrc
vim: 查看vim编辑器的帮助文档

24、行批量注释

ctrl+v	光标选中要注释的行 
I		插入
#		插入的符号
esc		即可查看

25、删除选中的字符

ctrl+v 	选择要删除行的字符
d		删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值