from: floyda.xyz
<<倚天屠龙记>>中, 大侠郭靖女侠黄蓉夫妇, 因为儿子太蠢, 大女儿不靠谱, 小女儿早恋且喜欢离家出走. 所以将绝世武功
九阴真经
藏在倚天剑
中, 传给后人.
其目的是为了制衡屠龙刀
中的武穆遗书
, 又担心别人短期内学不会, 就将梅超风的简化版也放在其中.所以, 今天跟大家分享一下Sublime的九阴白骨爪 --
多选多编多练习
操作视频
第7分钟左右, 之前是说安装卸载的, 可以跳过.
选区(Region)
在Sublime安装目录中的sublime.py
中找到Region类
:
class Region(object):
__slots__ = ['a', 'b', 'xpos']
def __init__(self, a, b=None, xpos=-1):
if b is None:
b = a
self.a = a
self.b = b
self.xpos = xpos
def empty(self):
...
def begin(self):
...
def end(self):
...
def size(self):
...
def contains(self, x):
...
def cover(self, rhs):
...
def intersection(self, rhs):
...
def intersects(self, rhs):
...
什么是Region呢?
当b=None
, 或者a=b
的时候, 就是一个光标(竖杠|
或者一个底杠_
)在Sublime中闪啊闪啊的.
当a<>b
的时候, 就是一个选择区域, 里面的内容是灰色的, 然后有一个光标在Sublime中闪啊闪啊的.
多选
编辑器底层有一个Region List
, 它会监听我们的输入事件.
比如, 我们输入一个字母a
, 它会遍历这个列表, 在每一个Region所表示的位置输入一个a
.
同样, 我们按Ctrl + V
粘贴的时候, 它会遍历这个列表, 在每一个Region所表示的位置粘贴.
同样, 我们按方向键, 它会遍历这个列表, 在每一个Region所表示的位置做相应的移动.
怎么多选
呢? 换而言之, 就是怎么新建一个Region到这个list里面呢?
有几种方法:
-
查找
-
Ctrl + D / ⌘ + D
根据Region List
中最后一个Region
所在位置的内容, 比如是hello
.
通过这个快捷键, 查找下一个hello
, 并将找到的结果的范围, new一个Region并加到list中.
然后所有的Region就一起闪啊闪啊的. -
Alt + F3 / ⌃ + ⌘+ G
根据Region List
中最后一个Region
所在位置的内容, 比如是hello
.
查找当前页面内所有的'hello', 全部变成Region, 全都加到list中. -
Ctrl + F -> Alt + Enter / ⌃ + F -> ⌥ + Enter
Ctrl + F
打开查找面板, 在里面输入hello
, 然后按Alt + Enter
,
则会查找当前页面内所有的hello
, 全部变成Region, 全都加到list中.
-
Ctrl + D / ⌘ + D
-
拆分
-
Ctrl + Shift + L / ⌃ + ⇧ + L
选择一段代码, 按下快捷键之后, 每一行都变成了一个Region.
-
Ctrl + Shift + L / ⌃ + ⇧ + L
-
手动
-
Ctrl + Alt + Up / Ctrl + Alt + Down
遍历Region List
, 在每一个Region的前一行或者后一行, 加多一个Region.
-
Ctrl + Alt + Up / Ctrl + Alt + Down
-
鼠标
- 按住鼠标中间的滚轮, 然后拖动.
- 按住Ctrl, 然后鼠标做左键依次点选.
多编
多重编辑没有什么好讲的, N个Region同时干一件事情.
比如最经典的10个print
的问题. 就是让你打印10次hello world
, 最好的方式是怎样?
你可以写一个for循环, 或者是写10次print.
不管优劣,
假如用Sublime来写, 就是用上面的方法, new10个Region. 然后输入1次hello world
就行了.
非要写一次hello world
, 然后copy成10行的不是不行.
但是如果是把print('hello world')
改成print('haha')
, 学会上面的东西, 就简单多了.
值得一提的是, 用多少个Region复制, 就用多少个Region来粘贴
否则, 会把之前多Region复制的内容, 作为一个整体来粘贴.
多练习
把每一种new一个Region
的方法都尝试一遍, 知道有这么个方法.
然后选择几个自己适合的, 多找规律多观察. 久而久之就变成一种本能.
写代码的效率妥妥的会提高.
推荐看一下操作视频: 操作视频
第7分钟左右
网友评论