Vim编辑器之神!还不来学嘛?

Windows系统下不安装linux虚拟机可以玩Vim吗?

可以。用过gitbash的朋友应该都遇到过这样的情况:git commit 的时候后面如果没有加-m ,会弹出一个文本编辑界面,就像这样。

Vim编辑器之神!还不来学嘛?_第1张图片

这个时候其实就已经进入了vim 命令模式了,这是在提醒你需要输入你此次提交改变了什么东西。我们应该怎么输入信息保存并退出vim界面,如何回到gitbash终端模式呢?讲到这里不得不提一下vim的三种模式:

Vim编辑器之神!还不来学嘛?_第2张图片

此时,我们只需要输入命令i,像平时提交信息一样输入完以后,再按一次ECS,大写ZZ退出。如果你想保存信息并退出而不是直接退出,需要按“:”进入编辑模式(也有人叫它底线模式或末行模式),输入wq即可保存退出。

注意:

任何时候,不管用户处于何种模式,只要按一下ESC键,即可使Vi进入命令模式;

ZZ 一定是大写,vim是大小写敏感的

编辑器之神vim

什么是VI?与Vim有什么关系?

vi是“Visual interface”的简称,它在Linux上的地位就仿佛Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制。Vi不是一个排版程序,它不象Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。 vi没有菜单,只有命令,且命令繁多。

vim是从 vi 发展出来的一个文本编辑器 。代码补完、编译及错误跳转等方便编程的功能特别丰富。

Vim打开文件的快捷方法

vim filename:打开或新建一个文件,并将光标置于第一行的首部

vim -r filename:恢复上次 vim 打开时崩溃的文件

vim -R filename:把指定的文件以只读方式放入 Vim 编辑器中

vim + filename:打开文件,并将光标置于最后一行的首部

vi +n filename:打开文件,并将光标置于第 n 行的首部

vi +/pattern filename:打幵文件,并将光标置于第一个与 pattern 匹配的位置

vi -c command filename:在对文件进行编辑前,先执行指定的命令

Vim 插入文本

i:在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动

l:在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令

o: 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本

O(大写):在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本

a: 在当前光标所在位置之后插入随后输入的文本

A: 在光标所在行的行尾插入随后输入的文本,相当于光标移动到行尾再执行 a 命令

Vim 查找文本

/abc: 从光标所在位置向前查找字符串 abc

/^abc: 查找以 abc 为行首的行

/abc$:查找以 abc 为行尾的行

?abc:从光标所在为主向后查找字符串 abc
n:向同一方向重复上次的查找指令

N向相反方向重复上次的查找指定

在查找过程中需要注意的是,要查找的字符串是严格区分大小写的,如查找 "shenchao" 和 "ShenChao" 会得到不同的结果。

如果想忽略大小写,则输入命令 ":set ic";调整回来输入":set noic"。

如果在字符串中出现特殊符号,则需要加上转义字符 "\"。常见的特殊符号有 \、*、?、$ 等。如果出现这些字符,例如,要查找字符串 "10$",则需要在命令模式中输入 "/10\$"。

Vim 替换文本

r:替换光标所在位置的字符

R从光标所在位置开始替换字符,其输入内容会覆盖掉后面等长的文本内容,按“Esc”可以结束

:s/a1/a2/g :将当前光标所在行中的所有 a1 用 a2 替换

:n1,n2s/a1/a2/g :将文件中 n1 到 n2 行中所有 a1 都用 a2 替换

:g/a1/a2/g 将文件中所有的 a1 都用 a2 替换

Vim删除文本

 x:删除光标所在位置的字符

dd:删除光标所在行

ndd :删除当前行(包括此行)后 n 行文本

dG删除光标所在行一直到文件末尾的所有内容

D:删除光标位置到行尾的内容

:a1,a2d:函数从 a1 行到 a2 行的文本内容

注意,被删除的内容并没有真正删除,都放在了剪贴板中。将光标移动到指定位置处,按下 "p" 键,就可以将刚才删除的内容又粘贴到此处。

Vim复制和粘贴文本
p:将剪贴板中的内容粘贴到光标后

P(大写):将剪贴板中的内容粘贴到光标前

y:复制已选中的文本到剪贴板

yy:将光标所在行复制到剪贴板,此命令前可以加数字 n,可复制多行

yw:将光标位置的单词复制到剪贴板

如果不小心误删除了文件内容,则可以通过 "u" 键来撤销刚才执行的命令。如果要撤销刚才的多次操作,可以多按几次 "u" 键。

Vim 保存退出文本

Vim 的保存和退出是在编辑模式中进行的

:wq    保存并退出 Vim 编辑器

:wq! 保存并强制退出 Vim 编辑器

:q   不保存就退出Vim编辑器

:q!  不保存,且强制退出Vim编辑器

:w   保存但是不退出Vim编辑器

:w!  强制保存文本

:w filename  另存到filename文件

x!   保存文本,并退出Vim编辑器,更通用的一个命令

ZZ  直接退出Vim编辑器

需要注意的是,"w!" 和 "wq!" 等类似的指令,通常用于对文件没有写权限的时候,但如果你是文件的所有者或者 root 用户,就可以强制执行。

你可能感兴趣的:(vim,编辑器,linux)