Where is the default settings file, which stores thing such as "font_size", located for Sublime Text 4?

Viewed 536

I'm using Sublime Text 4 (Build 4126) on Linux Ubuntu 18.04. The Packages/Default directory (full path would be $HOME/.config/sublime-text-3/Packages/User), which this answer refers to: What is the default font of Sublime Text?, no longer exists.

Where are these defaults stored now? I can see them in the left-hand pane in Preferences --> Settings, but where is that file?

If you go to Preferences --> Settings in Sublime Text 4 it opens the preferences, with the defaults on the left, and it even shows the path as ~/.config/sublime-text-3/Packages/Default/Preferences.sublime-settings even though that file doesn't actually exist on my file system (the Default folder in that path does not exist).

enter image description here

To try to find a file ending in sublime-settings, and containing "font_face":, for instance, I ran this command, but didn't find any "defaults" type file anywhere:

# Read all paths with "sublime-settings" in their path name into a regular bash
# "indexed" array named `array`
mapfile -t array <<< "$(find / 2> /dev/null | grep -E "sublime-settings")"
# Pass this list of files to `grep` and search for `"font_size":`
grep -i '"font_size":' -- "${array[@]}"

Also, here is the result of find ~/.config/ | grep -e sublime-text:

$ find ~/.config/ | grep -e sublime-text
/home/gabriel/.config/sublime-text-3
/home/gabriel/.config/sublime-text-3/Packages
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/SublimeTutor.sublime-settings
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/Default (Windows).sublime-keymap
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_4_5.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_2_7.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_2_10.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_2_13.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_4.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_5_4.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_2.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/code
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/code/chapter_1.rb
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/sublimetutor.sublime-project
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_1.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_3_6.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_5_3.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_4_1.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_4_3.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_2_3.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_4_2.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_3_8.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_2_12.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_5_2.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_2_8.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_2_1.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_2_15.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/contents.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_2_2.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_3_5.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_2_5.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_2_11.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_6.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_2_14.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_3_2.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_2_9.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_2_4.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_3_4.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_3_7.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_3_3.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_3_1.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_2_6.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_3.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_5_5.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_4_4.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/sublimetutor.sublime-workspace
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/README.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_5.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_5_1.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/tutorial/chapter_4_6.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/package-metadata.json
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/sublime_tutor.py
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/Default (OSX).sublime-keymap
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/Main.sublime-menu
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/Default.sublime-commands
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/LICENSE
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/CONTRIBUTORS.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/Default (Linux).sublime-keymap
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/.no-sublime-package
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/messages.json
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/messages
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/messages/1.0.1.txt
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/messages/install.txt
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/README.md
/home/gabriel/.config/sublime-text-3/Packages/Sublime Tutor/.gitignore
/home/gabriel/.config/sublime-text-3/Packages/User
/home/gabriel/.config/sublime-text-3/Packages/User/Git Config.sublime-settings
/home/gabriel/.config/sublime-text-3/Packages/User/Build.sublime-settings
/home/gabriel/.config/sublime-text-3/Packages/User/MarkdownTOC.sublime-settings
/home/gabriel/.config/sublime-text-3/Packages/User/Preferences.sublime-settings
/home/gabriel/.config/sublime-text-3/Packages/User/C++.sublime-settings
/home/gabriel/.config/sublime-text-3/Packages/User/Markdown.sublime-settings
/home/gabriel/.config/sublime-text-3/Packages/User/Python.sublime-settings
/home/gabriel/.config/sublime-text-3/Packages/User/Makefile.sublime-settings
/home/gabriel/.config/sublime-text-3/Packages/User/SBSCompareTheme.hidden-tmTheme
/home/gabriel/.config/sublime-text-3/Packages/User/SBSCompareScheme.hidden-color-scheme
/home/gabriel/.config/sublime-text-3/Packages/User/Package Control.sublime-settings
/home/gabriel/.config/sublime-text-3/Packages/User/Package Control.user-ca-bundle
/home/gabriel/.config/sublime-text-3/Packages/User/ANSIescape
/home/gabriel/.config/sublime-text-3/Packages/User/ANSIescape/ansi.sublime-color-scheme
/home/gabriel/.config/sublime-text-3/Packages/User/YAML.sublime-settings
/home/gabriel/.config/sublime-text-3/Packages/User/Bash.sublime-settings
/home/gabriel/.config/sublime-text-3/Packages/User/Plain text.sublime-settings
/home/gabriel/.config/sublime-text-3/Packages/User/XML.sublime-settings
/home/gabriel/.config/sublime-text-3/Installed Packages
/home/gabriel/.config/sublime-text-3/Installed Packages/Github Tools.sublime-package
/home/gabriel/.config/sublime-text-3/Installed Packages/Awk.sublime-package
/home/gabriel/.config/sublime-text-3/Installed Packages/Case Conversion.sublime-package
/home/gabriel/.config/sublime-text-3/Installed Packages/Git.sublime-package
/home/gabriel/.config/sublime-text-3/Installed Packages/Tabright.sublime-package
/home/gabriel/.config/sublime-text-3/Installed Packages/Git blame.sublime-package
/home/gabriel/.config/sublime-text-3/Installed Packages/Package Control.sublime-package
/home/gabriel/.config/sublime-text-3/Installed Packages/Devicetree DTS Highlighting.sublime-package
/home/gabriel/.config/sublime-text-3/Installed Packages/MarkdownTOC.sublime-package
/home/gabriel/.config/sublime-text-3/Installed Packages/Compare Side-By-Side.sublime-package
/home/gabriel/.config/sublime-text-3/Installed Packages/0_package_control_loader.sublime-package
/home/gabriel/.config/sublime-text-3/Installed Packages/ANSIescape.sublime-package
/home/gabriel/.config/sublime-text-3/Log
/home/gabriel/.config/sublime-text-3/Local
/home/gabriel/.config/sublime-text-3/Local/Session.sublime_session
/home/gabriel/.config/sublime-text-3/Local/License.sublime_license
/home/gabriel/.config/sublime-text-3/Local/Auto Save Session.sublime_session
/home/gabriel/.config/sublime-text-3/Lib
/home/gabriel/.config/sublime-text-3/Lib/python3.3
/home/gabriel/.config/sublime-text-3/Lib/python33
/home/gabriel/.config/sublime-text-3/Lib/python38

It seems to me that ~/.config/sublime-text-3/Packages/Default/Preferences.sublime-settings file may not actually exist, and may just be a fake path Sublime Text created for historical reasons. Perhaps those defaults are actually built into the binary of Sublime Text 4 now, instead.

Anyway, I guess the main takeaway is that for Sublime Text 3 and 4 you can just see the defaults by looking in the left-hand pane that opens up when you go to Preferences --> Settings.

References

  1. [my own answer which I referenced for the find and mapfile cmd above] Super User: Can't pipe in bash's "mapfile" ... but why?
2 Answers

Quick find find ~/.config/ | grep -e sublime-text on my system shows

.config/sublime-text
.config/sublime-text/Packages
.config/sublime-text/Packages/User
.config/sublime-text/Packages/User/Preferences.sublime-settings
.config/sublime-text/Installed Packages
.config/sublime-text/Local
.config/sublime-text/Local/Session.sublime_session
.config/sublime-text/Log
.config/sublime-text/Lib
.config/sublime-text/Lib/python33
.config/sublime-text/Lib/python38

Run the above command and check if there is anything similar.

I have only Sublime Text 4 (Build 4126) installed. You most probably have both somehow.

I think I found it!

Open the file at /opt/sublime_text/Packages/Default.sublime-package. If you double-click it in a GUI file manager it opens up like a zip file.

From there, open up Preferences (Linux).sublime-settings, and I see this:

{
    "font_face": "Monospace",
    "font_size": 10,
    "move_to_limit_on_up_down": true,
    "mouse_wheel_switches_tabs": true
}

Going further

Interesting, it looks like the mouse scroll wheel settings are here too as button2, but I haven't tried messing with them. I wonder perhaps if changing those scroll wheel settings (which do NOT exist in the left-hand pane of Preferences --> Settings) might be an alternative to using imwheel to change scroll speed (see here, here, and here--search for "Sublime Text" in this last one).

From the Scroll Bar (Linux).sublime-mousemap file inside that default package compressed file above:

[
    {
        "button": "button1",
        "press_command": "scroll_drag",
    },
    {
        "button": "button1", "modifiers": ["shift"],
        "press_command": "scroll_step",
        "press_args": { "follow_mouse": false, "delay": 1000, "interval": 200 },
    },
    {
        "button": "button2",
        "press_command": "scroll_adjust",
        "press_args": {
            "acceleration_dead_zone": 15,
            "acceleration_area": 200,
            "min_speed": 200,
            "max_speed": 5000,
        },
    },
    {
        "button": "button3",
        "press_command": "scroll_step",
        "press_args": { "follow_mouse": false, "delay": 1000, "interval": 200 },
    },
]

There is also a file named Default (Linux).sublime-keymap, and there are files for ...(OSX)... and ...(Windows)....

Related