vi的缓冲区

vi的缓冲区除了保存当前文本之外,还可以完成复制、粘帖等任务。熟悉vi的缓冲区对于使用vi编辑文档有很大好处。

vi有一个保存当前文本内容的缓冲区,编辑文档的时候只是改变这个缓冲区的内容,存盘的时候vi才会把缓冲区内容拷贝到磁盘。

vi中非常有用的缓冲区是用来做复制和粘帖的。每次使用d命令(表示delete)和y命令(表示yank),其实vi就是把相应的删除内容或者复制内容放到缓冲区,使用p命令(表示paste)就会把这个无名缓冲区的内容放到光标所在位置。因此d和p组合使用就能实现剪切的效果,y和p组合使用就能实现复制的效果。

vi buffer
vi buffer

但是只有一个用来复制和粘帖的缓冲区,灵活性还不够。其实vi也考虑到这一点,因此除了这个无名缓冲区,vi还提供a到z一共26个命名的缓冲区,可以像无名缓冲区一样使用。需要使用时,先敲双引号”,然后敲a到z其中一个字母表示指定改名字的缓冲区,然后d和y命令照常输入即可。

除了英文命名缓冲区,其实vi还提供数字命名缓冲区,从1到9。这9个缓冲区不能随意存,能随意取。实际上这些缓冲区是之前的d和y命令所得的缓冲区,举个例子,如果执行d命令,那么内容会放到1号缓冲区,再执行y命令,新的内容放到1号缓冲区,而原来1号缓冲区的内容则放置在2号缓冲区,以此类推。因此可以合理猜测,1号缓冲区和无名缓冲区可能是同一回事。

弹出GNOME右键菜单

弹出GNOME右键菜单的方法,顾名思义,就是单击鼠标右键弹出的菜单。但是如果鼠标不灵,也有其他的键盘替代方法。可以用键盘上的Context键(一般和Win键位置相对),这样也能弹出右键菜单。如果键盘上没有这个键,还可以用快捷键Shift+F10达到目的。

Context Menu
Context Menu

GNOME的鼠标中键

鼠标中键一般我只作为滚轮使用,而没有考虑过它还有其他功能。然而在GNOME里,鼠标中键有着实用的功能。

首先,如果我们在剪贴板里已经有复制的文字,则可以直接在目标地方单击中键,执行粘帖。还有一个更有趣的方法,也可以执行复制文字和粘帖,先用鼠标选定一些文字,但是不需要Ctrl+C复制,直接在目的地单击中键,就可以把选定的文字粘帖。下图中演示了把选择了的“Move”复制到“Search框”里。

MiddleClick
MiddleClick

nslookup的使用

终于抽出时间继续上次还没说完的话题。总结一下nslookup的用法,当然这里的nslookup是Linux下的,Windows下的nslookup我没有怎么研究,貌似弱一些。

nslookup命令后的参数跟的是域名服务器的名字或者IP地址,比如“nslookup 202.116.64.2”,表示查询该域名服务器里的信息。如果不指定参数,则使用/etc/resolv.conf中设定的域名服务器。敲了命令之后进入交互模式,就可以查询了。

开启后默认是查询A条目的,即域名到IP地址的查询。也是大家最常用的查询方式,查询的结果有两种可能的字眼,“Authoritative”和“Non-authoritative”。如果得到后者的答案,表明是从服务器的cache得到的,进一步可以推断该DNS服务器是cache-only的服务器,因为现在架DNS服务器一般都把含区域信息的服务器和纯粹作查询用途的服务器分开;前者表明信息是直接查该区域授权机器得到。

nslookup1
nslookup1
nslookup2
nslookup2

除了常用的A条目外,实际上每个DNS服务器中的区域信息还包含其他条目,下面就逐个看一下。SOA (Start of Authority)条目,声明区域管辖权与基本资料;NS条目,指明了本区域下的域名服务器;MX条目,指明了本区域的邮件交换中心服务器;AAAA条目,和A条目类似,但是是IPv6的。要改变nslookup查询的条目类型,使用“set type=x”,如上图所示。也可以指定为“set type=any”,这样就查询所有的条目。