Moving Style Configurations between computers

  • How can I move “style configurations” between computers. Is there a particular file(s) that I can move to migrate my styles?


  • @Arthur-Schwarez

    if you open Settings->StyleConfigurator, what is displayed in Select Theme?

    If it is Default (stylers.xml) then it is the file stylers.xml, if it is different then the
    file named is in themes directory. That, by the way, is the preferred way if you modify styles,
    to store it as a theme_name.xml, so it is easy to import it by using Settings->Import->Import style themes


  • I just did a 'find * -iname ‘styler*’ on the Notepad++/ directory. The results are:

    Or, I could not find stylers.xml. Is there another place I can look?

    I also looked at the Settings->Syle Configurator popup and there is no ‘export’ command, although there is a Settings->Import command.

    As a separate topic, can future release have filenames without embedded blanks or any special characters? Sorry to as this as part of this question but I can only ask one question. Although I am a member, I had to log on through facebook. Sigh.


  • @Arthur-Schwarez

    You are right - no export :-(

    The stylers.xml is either in the install directory or, what I assume, in your
    %APPDATA%\notepad++ directory if you choose to use APPDATA while installing npp.

    Sorry, I don’t understand your question about filenames? Can you explain what you mean in detail?


  • On a normal installation, the stylers.xml is found as %AppData%\Notepad++\stylers.xml, and the themes that @Claudia-Frank mentioned are in %AppData%\Notepad++\themes\*.xml: the themes-based do not have “styler” in the name, so your gnu-find-style search would not have found them, even in the right directory.

    Your theme can be selected in Settings > Style Configurator > Select theme. It will either say “Default (stylers.xml)”, or “someNameHere”, where you would then match it up to %AppData%\Notepad++\themes\someNameHere.xml

    (In case you don’t know, %AppData% is a windows environment variable that points to “the right place”; on modern Windows, often something like c:\users\\AppData\Roaming\. The windows folder/explorer knows environment variables, so pasting %AppData%\Notepad++\ in the address bar of the explorer, or of a File>Open menu, will take you to “the right place”.)

  • %AppData%\Notepad++\ contains stylers.xml. Thanks. FYI, the installation directory contains stylers.model.xml which I assume is the default stylers.xml.

    As to the blank issue… A file whose name is “myfile” is treated ‘well’ in a linux shell. A file whose name is ‘my file’ is not. The embedded blank causes issues for linux based commands. For example, if a file has the format “lhs blank rhs” then in Windows, life proceeds well. But in Linux, lhs and rhs are each treated as a separate file. This means that files with an embedded blank need additional support to be processed in a shell.

    For example, if we have a directory with lhsrhs and “lhs rhs” then a command such as “for i *;; do echo $i; done” will return “lhsrhs”, “lsh”, “rhs”, yielding three files instead of two.

    This is an abbreviated example which does not address all of the issues nor any of the possible solutions. I apologize. But the issue is that the embedded blank creates the appearance of three files, in this case, rather than two.


  • @Arthur-Schwarez said:

    can future release have filenames without embedded blanks or any special characters?

    What does this even mean? Do any of the Notepad++ files, either as part of the distribution or source, have spaces in their names/paths? Not that I recall. So I’m totally confused by this…

  • @Scott-Sumner If you look at the install directory you will find the following xml files with embedded blanks:
    themes/Black board.xml
    themes/Deep Black.xml
    themes/Hello Kitty.xml
    themes/Mono Industrial.xml
    themes/Plastic Code Wrap.xml
    themes/Ruby Blue.xml
    themes/Vibrant Ink.xml
    themes/vim Dark Blue.xml

    Sorry that my words caused confusion. I hope that the file listing shows what I mean.


  • After a little experimentation it appears that the Settings->Style Configurator->Enable global foreground colour and Settings->Style Configurator->Enable global background colour where selected. Unselecting the options solved the problem.

    Thank you all;

  • @Arthur-Schwarez

    Oh…those files…well, if the spaces there bother you, you can safely rename those files to remove the spaces (or replace them with underscores…or whatever you want to do). Restarting N++ after that and going to the Select theme dropdown will show you the results of any renaming.

    On the subject of themes, maybe someday I will move away from the default “white” (aka serial-killer) theme. It seems like whenever I try a prebuilt one that I think I might like, I find some inconsistency in the UI caused by that theme to make me go running back to the “white” one… Maybe someday I’ll have the time to tweak a prebuilt theme to make it 100% consistent, or I’ll build my own.

  • @Arthur-Schwarez ,

    For example, if we have a directory with lhsrhs and “lhs rhs” then a command such as “for i *;; do echo $i; done” will return “lhsrhs”, “lsh”, “rhs”, yielding three files instead of two.

    You’re right, some scripts / syntax won’t work well on linux when there’s spaces in the name [see below for caveat]

    Then again, the same is true on Windows: for example, the wrong C:\Program Files (x86)\Notepad++\notepad++.exe %1 as your “open” file association in the registry, vs the right "C:\Program Files (x86)\Notepad++\notepad++.exe" "%1".

    Your linux example is in a slightly different syntax than I’m used to; which shell is it? On some linux systems I have access to: in an ancient (c. 2004) GNU bash 3.00.15(1), or in my old but more recent (c. 2011) GNU bash 4.2.37(1), the syntax for i in * ; do echo $i ; done worked as expected from the command line when it ran across a filename with a space: it printed that spaced filename on one line.

    But even if you’re on a shell that doesn’t behave the same as my bashes, and really did split the filename over two lines, there should be a way around the problem. And in fact, it’s the same solution as you use in Windows: add quotes. I am betting that for i *;; do echo "$i"; done would work in that circumstance.

    But, as @Scott-Sumner pointed out, if the spaces in the themes really bother you, then just rename them. Their name isn’t critical to their functionality.

Log in to reply