vim之vim基础知识


接触了vim有一段时间了,但一直都是简单的用vim编写一些程序,和写一些文本。而且只是简单的了解一下操作,没有深入的学习。先总结一下基础的操作。

vim被称为神一样的编辑器,而emacs被称为神用的编辑器。

我的理解是当你用vim得心应手时,vim就会在你手里变成一个神器。而emacs是你要先称为神,然后才能得心应手,毕竟是用emacs要学点lisp,而lisp却不是那么好学的。

但其本质不过都是一个文本编辑器而已,所以看自己喜好了。只要自己用的舒服,做事高效就行。

学习vim可查看《vim教程》,输入vimtutor,则可查看教程,此文件是副本所以不用担心在此文件中操作会损坏。可用Ctrl+g查看文件的完全名称,所在行数,总行数,当前阅读的百分比,所在行数的列数。


知识一:模式介绍

vim有三个模式:编辑模式、一般模式、命令模式


当我们用vim打开一个文件时,进入的是一般模式,即阅读的模式。

当我们按下特定的字母时会进入编辑模式和命令模式。


进入编辑模式的按键有:I/i、A/a、S/s、O/o、C/cc、cE/ce。暂时先了解一下就行,下面会详细介绍这些键的不同。

从编辑模式退到一般模式的方法:ESC键、Ctrl+[

命令模式是输入:后接一些命令


命令模式和编辑模式之间不能转换,只能借助一般模式转换。


知识二:光标移动

在一般模式下可进行光标的移动,用方向键可移动,也可用特定的字母进行移动,这也是vim的特色之一。

有人会问这是什么特色?简直就是给自己找麻烦。其实不然,开始可能别扭,但时间久了,才会发现其强大的高效性。


k:向上移动

j:向下移动

h:向左移动

l:向右移动


以上字母均为小写。

简单的记忆:左右好记,左在左,右在右。上下的记忆可以按它们的临近关系,我们常说”上左下右“,而在此处你可记"上靠右下靠左",与我们的地图常识相反。若这样觉得记忆不好的话就死记吧,最主要的还是要多练。


w:光标每次移动一个单词,且位于单词首部。前面可加数字,即一次移动多个单词。

e:光标每次移动一个单词,且位于单词尾部。前面加数字,可一次移动多个。

0:移至行首

$:移至行尾



+:向下移动,且位于行首,若行不为空,则位于第一个字符处。

-:向上移动。

这两个相当于J、K。当唯一的区别,是当行不为空,则移动到第一个字符处。

其方向可记为:+是行数加,越加越大,可用:set nu查看行号。-则相反。


H:移至屏幕上方

M:移至屏幕中央

L:移至屏幕下方


以上字母均为大写。


gg:移至文件首行。

G:前面不加数字,则移至到文件尾行。加数字则移至数字指定的行



数字+回车键:向下一次移动数字指定的行数。



然后补充一下:


Ctrl+f:向下翻一页

Ctrl+b:向上翻一页

Ctrl+d:向下翻半页

Ctrl+u:向上翻半页



知识三:vim的退出和文本的存储


q:退出vim

!:强制

w:保存

x:保存并退出

ZZ(大写):若文件改动了,则保存退出,若未改动,则不保存退出。


这些命令可结合:


wq:保存退出,相当于x

q!:不保存退出

其顺序不能改变,即一定是wq而不是qw。



知识四:文本操作的命令


1.删除命令


x:删除光标所在的字符

X:删除光标前的字符。

数字+x:从光标开始向后删除数字指定个数的字符。

数字+X:从光标开始向前删除数字指定个数的字符。


dd:删除光标所在行

数字+dd:从光标所在行开始,向下删除数字指定的多少行

D:删除光标所在行的所在位置之后的所有字符。

数字+D:从光标所在位置开始,删除算上光标所在行的数字指定的多少行。


d+数字+G:删除指定行

dgg:删除光标所在行至文件首行的所有行

dG:删除光标所在行及其以后的所有行。

d0(零):删除光标所在位置至行首。

d$:删除光标所在位置至行尾。


y+数字+G:复制指定数字的行数至光标所在位置的所有行,不论光标是否在前在后。

yG:复制光标所在行至文件尾行。


2.复制命令


yy:复制光标所在行

数字+yy:复制光标所在行及其向下数字指定的多少行

dgg:复制光标所在行至文件首行的所有行

dG:复制光标所在行及其以后的所有行。

d0(零):复制光标所在位置至行首。

d$:复制光标所在位置至行尾。



3.粘贴


p:在光标所在行的下方粘贴

P:在光标所在行的上方粘贴


4.剪切

剪切就是删除和粘贴的结合,删除的内容会放在缓冲区中,在你未再次向缓冲区放东西(删除或复制)或未退出文件的编辑前,缓冲区的内容都不会改变。

那么剪切就是删除,粘贴。



5.替换命令

r+字符:光标所在位置的字符被替换成指定的字符。

R:在光标位置开始替换,直到键入ESC或Ctrl+[为止,替换结束。


r是单字符替换,R是多字符替换


在命令模式下的替换命令:

:s/旧字符/新字符:在光标所在行查找并替换第一个匹配到旧字符的字符,将其替换成新字符。在后面/g表示全部替换,此处全部指的是此行的全部,而不是文件的全部。

:%s/旧字符/新字符:表示替换文件的每一行第一个匹配到的字符,加后面/g表示文件中的全部都替换



6.其他的一些操作命令


J(大写):将光标所在行和其下行合并成一行

U(大写):撤销光标所在行的上一个操作

u(小写):撤销文件最近的操作,一直可撤销到刚打开文件的样子。

Ctrl+r:撤销”撤销命令“的操作,即复原操作

.(点):重复前一个操作。撤销和复原不算,即若删除操作后,执行撤销,则键入.(点)执行删除的操作,而非撤销,复原同理。还有一点要注意,若前一操作为添加,则执行.(点)则会添加之前添加的数据,而非操作。


知识五:进入插入模式命令之间的区别


进入编辑模式的按键有:I/i、A/a、S/s、O/o、C/cc、cE/ce。暂时先了解一下就行,下面会详细介绍这些键的不同。


i:在光标前开始插入

I(大写i):移至光标所在行的行首并开始插入。


A:将光标移至行尾并开始插入

a:将光标向后移动一位,并在前面插入。即在光标所在位置后插入。


S:删除光所在行,并在此行开始插入。

s:删除光标所在位置的字符并插入。


O:在光标所在行的上方插入

o:在光标所在行的下方插入


C/cc:与S相同,删除光所在行,并在此行开始插入。


cE/ce:删除光标所在位置至单词尾部,并插入。

c+数字+j/k:删除光标所在行再加上数字指定的行数,并插入。j表示向下,k表示向上。

c+数字+h/l(小写L):删除光标所在位置及其指定的字符并插入。h表示向左,l表示向右。


知识六:查找

在一般模式下,键入”/“则可进行查找。

/字符:表示光标处向下查找,第一个匹配”指定字符“的字符。

?字符:光标处向上查找,第一个匹配”指定字符“的字符。


若想继续查找下一个则按n。若想反方向查找则按N。



知识七:括号匹配


%:将光标放在任意一个括号处,键入%则会自动跳转到匹配的括号处,再次按%则又会回来。括号有[]、{}、()。

此命令用于调试程序时,十分有效。


知识八:跨文件读取和保存以及执行shell命令


要想在vim中执行shell命令,则键入“:!命令”即可


:r 文件名:将指定文件的内容读取到光标所在行的下一行。


:w 文件名:将编写的文件另存为一个文件中。

若指定文件存在,需要在w后加!表示强制,且会覆盖原文件内容.


行号,行号w 文件名:将制定行号间的数据另存为到指定文件中








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值