Linux —— vim学习

1. vim的三种模式

1.1 普通模式(默认Normal)

在我们刚启动vi/vim时,此时我们就处在普通模式下。而在此状态下我们键盘输入会被vim解析成相应的指令并执行。在该模式下可以快速查找、定位、修改和删除代码。

  • i    :切换到输入模式,以输入字符;
  • x   :删除当前光标所在处的子符;
  • : :切换到底部命令模式,在底行输入命令。

1.2 插入模式(Insert)

在命令模式下按下i键就进入了输入模式。在插入模式下,我们可以同其他普通编辑器一样输入,在输入完毕后,按ESC键就可以回到普通模式下。

1.3 可视模式

该模式简单来说也可以称为选中模式,类似于普通编辑器中的选中,选中一篇文字然后对选中的文字进行一些操作。在vim中可视模式分为了三类:普通选中、按行选中、按列选中。我们通过“v”来实现普通选中、通过"V"来实现按行选中、通过"ctrl+v"来实现列选中。同样,在执行完后续操作后,按ESC键就可以回到普通模式下。

2. vi/vim命令

2.1 进入vi的命令

命令 作用
vi filename 打开或者新建文件,并将光标置于第一行首
vi +n filename 打开文件,并将光标置于第n行首
vi + filename 打开文件,并将光标置于最后一行首
vi +/pattern filename 打开文件,并将光标置于第一个与pattern相匹配的行行首
vi -r filename 在上次正编辑时发生系统崩溃,恢复filename
vi filename......filename 打开多个文件,进行依次编译

2.2 vim的插入模式操作

命令 作用
i 光标所在位置插入
I 光标所在行行首插入
o  光标所在行下一行插入
O 光标所在行的上一行插入
a  光标所在字符的下一个字符插入
A 光标所在行的行尾插入
s 光标所在字符删除并插入
S 光标所在行删除并插入

2.3 移动光标的命令

命令 作用
h 光标左移一个字符
l 光标右移一个字符
space 光标右移一个字符
Backspace 光标左移一个字符
k或ctrl+p 光标上移一行
j或ctrl+n 光标下移一行
Enter 光标下移一行
w或W 光标右移一个字至字首
b或B 光标左移一个字至字首
e或E 光标右移一个字至字尾
     ) 光标移至句尾
光标移至句首
} 光标移至段落开头
{ 光标移至段落结尾
nG 光标移至第n行首
n+ 光标下移n行
n- 光标上移n行
n$ 光标移至第n行尾
H 光标移至屏幕顶行
M 光标移至屏幕中间行
L 光标移至屏幕最后行
O(数字0) 光标移至当前行首
$ 光标移至当前行尾
gg 光标移动到文件的第一行
G 光标移动到文件的最后
:数字 光标移动到指定的行

2.4 屏幕翻滚命令

命令 作用
ctrl+u 向文件首翻半屏
ctrl+d 向文件尾翻半屏
ctrl+f 向文件尾翻一屏
ctrl+b 向文件首翻一屏
nz 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部

2.5 VIM中字符管理

命令 作用
yl 复制一个字符
yw 复制一个单词

yy

复制一行
nyy 复制多行
p 粘贴
x 删除光标所在字符,或者选中文字
dl 删除一个字符
dd 删除光标所在行
ndd 删除多行
D 删除至行尾
dw 删除一个单词
u 撤销上次命令
ctrl+r 恢复撤销的命令
r 替换当前字符(命令模式)
R 替换当前行光标后的字符
/str

查找str(n查找下一个,N查找上一个)

2.6 查找并替换

:%s/原字符/替换后字符/g

其中,%s表示全文所有行,g表示全文所出现原字符的列

示例:

  • :%s/:/@/g 替换全文的:为@
  • :1,5s/:/@/g 替换1-5行的:为@
  • :/adm/,/halt/s/:/@/g 替换adm到halt之间的:为@

2.7 分屏功能

命令 功能
ctrl+w s 上下分屏
ctrl+w v 左右分屏
ctrl+w c 关闭光标所在屏幕
ctrl+w 上下左右 光标移动到指定屏幕
:sp file2 同时编辑当前文件和file2

2.8 VIM命令模式下调整工作参数

vim临时设定

命令模式下:set 参数信息

例如:set nu 此设定为临时设定,vim关闭后设定消失

vim永久设定

在vim /etc/vimrc中,通过set 参数信息永久设定。

2.9 退出vi编辑器命令

命令 作用

   :q

退出,在文件内容没有被改变时使用

   :q!

强制退出不保存,在改变文件后不想保存时使用
:wq

                       对vi编辑器中的文件进行保存并退出vi编辑器

:wq!              强制退出保存 在对只读文件编写时使用,注意,所编辑的只读文件必须时
发布了50 篇原创文章 · 获赞 37 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/m0_37868230/article/details/104180785
今日推荐