如何在Sublime Text中将当前行垂直居中放在屏幕上?

时间:2017-11-10 08:34:04

标签: plugins sublimetext3 sublimetext2 sublimetext sublime-text-plugin

我想将当前选中的行保留在屏幕的垂直中心。

在VIM中,这是通过:set scrolloff=9999命令实现的。

在Sublime Text中是否有任何选项或插件可以做到?

1 个答案:

答案 0 :(得分:2)

import sublime_plugin
class AlwaysCenterCommand(sublime_plugin.EventListener):
    def on_modified(self, view):
        sel = view.sel()
        pt = sel[0].begin() if len(sel) == 1 else None
        if pt != None:
            view.show_at_center(pt)

居中,如果不是多选和修改。就是这样。

或者您也可以使用该区域。

import sublime_plugin
class AlwaysCenterCommand(sublime_plugin.EventListener):
    def on_modified(self, view):
        sel = view.sel()
        region = sel[0] if len(sel) == 1 else None
        if region != None:
            view.show_at_center(region)

https://forum.sublimetext.com/t/always-centered-cursor/4005

另一个选项

  

Buffer Scroll是一个简单的Sublime Text插件,可以在打开文件时记住并恢复滚动,光标位置,选择,标记,书签,折叠,所选语法和可选颜色方案。还将根据应用程序中文件的位置记住不同的数据(window1中的示例file1具有滚动行30,window2中的file1具有第40行中的滚动)

     

此外,通过首选项,允许在克隆的视图之间启用滚动,书签,标记和折叠的同步,实时。

     

默认情况下禁用同步功能。您需要通过首选项启用这些。主菜单 - >偏好 - >包装设置 - > BufferScroll - >设置默认值。您可能希望将已编辑的首选项复制并粘贴到位于同一子菜单下的“设置用户”中。保持更新之间的偏好。

     

Kensai要求此套餐现在提供“打字机滚动”:您使用的线路自动成为屏幕的垂直中心。

https://github.com/titoBouzout/BufferScroll