sublime列编辑状态

从notepad++转到sublime,感觉sublime的列编辑没有notepad++好用

  1. 一个是先入为主的问题,notepad++进行列编辑是alt+左键
  2. notepad++进行列选择时,选择的行没有编辑也是可以选中的,sublime只能选中编辑范围
  3. 进行列粘贴时,notepad++可以不用关注选择的列数和要粘贴的列数是否对应 ,但是sublime必须要对应 上,要不然粘贴就有问题,(需要处理的是两三行还好,如果处理超过5行以上,感觉识别成本就高很多)

先解决第一个问题:

打开sublime,选择首选项->浏览插件目录

 打开以下页面,从Default里面复制 Default (Windows).sublime-mousemap  到User目录里面

 将以下内容填入到  Default (Windows).sublime-mousemap  就可以使用alt+鼠标左键选择列编辑

[
	// 将shift + 右键列选择改为alt+左键列选择
	// Alt + Shift + Mouse 1 column select   button1 是左键,2是右键
	{
		"button": "button1",  "modifiers": ["alt"],
		"press_command": "drag_select",
		"press_args": {"by": "columns"}
	},
 
]

第二个问题解决不了。

第三个问题:

使用插件来处理,代码如下,代码怎么引用 大家可以百度下:

# 列模式下粘贴  ColumnPaste
class ColumnPasteCommand(sublime_plugin.TextCommand):
	def run(self, edit): 
		# 只选择一行时不做处理(连续选择也会算做一行)
		# print("------	",len(self.view.sel()))
		if len(self.view.sel()) == 1:
			return

		clip = sublime.get_clipboard()
		if(clip == ""):
			return

		arr_str = clip.split("\n")
		# print("剪切板:",arr_str)
		index = 0

		# 将剪切板的数据以换行符为分隔符按顺序放到选择的光标处
		for pos in self.view.sel():
			# print ("坐标:",pos)
			self.view.insert(edit, pos.begin(), arr_str[index]) 
			index += 1
			if index == len(arr_str):
				return

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值