Note
- Native search Ctrl + F Sublime Text 3 allows you to conduct multiple searches. Search query syntax:
($первая фраза|$вторая фраза) .

However, it is not possible to make multiple replacements with a single query in the native search.
The solution described in this answer allows you to make multiple replacements in only one file, but not several. I wouldn’t say that I was looking very carefully, but I couldn’t find any programs at all (I was looking for Windows for my OS) with which I could do multiple replacements in many files.
Tested in November 2016 on Sublime Text Build 3126. I anticipate, because, for example, the settings described in the June 2016 article about RegReplace have lost their relevance.
RegReplace
A plugin for performing multiple replacements in Sublime Text 3, documentation . Allows you to replace not only in simple cases, as discussed in this question, but also using regular expressions, for operations with which the Python re module is used.
Writing replacement rules in RegReplace
Preferences → Package Settings → RegReplace → Rules - User → we insert the code into the opened file.
{ "replacements": { "sasha_felicity_A": { "find": "A", "replace": "А", }, "sasha_felicity_B": { "find": "B", "replace": "В", }, "sasha_felicity_E": { "find": "E", "replace": "Е", }, "sasha_felicity_K": { "find": "K", "replace": "К", }, "sasha_felicity_M": { "find": "M", "replace": "М", }, "sasha_felicity_H": { "find": "H", "replace": "Н", }, "sasha_felicity_O": { "find": "O", "replace": "О", }, "sasha_felicity_P": { "find": "P", "replace": "Р", }, "sasha_felicity_C": { "find": "C", "replace": "С", }, "sasha_felicity_T": { "find": "T", "replace": "Т", }, "sasha_felicity_a": { "find": "a", "replace": "а", }, "sasha_felicity_e": { "find": "e", "replace": "е", }, "sasha_felicity_o": { "find": "o", "replace": "о", }, "sasha_felicity_p": { "find": "p", "replace": "р", }, "sasha_felicity_c": { "find": "c", "replace": "с", }, "sasha_felicity_y": { "find": "y", "replace": "у", }, "sasha_felicity_x": { "find": "x", "replace": "х", }, } }
On the contrary, find Latin characters, opposite replace - Cyrillic. Instead of sasha_felicity_$буква you can call the rules with any other names, as long as they do not coincide with the names of other rules.
If you do not specify the IGNORECASE flag, then the search and replace operations will be case sensitive. The Latin H in the text will be replaced by Cyrillic Н , but the Latin h will not be replaced by Cyrillic н , which is necessary according to the conditions of the question. If you are case sensitive, the syntax of the rule is:
"sasha_felicity_H": { "find": "(?i)H", "replace": "Н", },
Running a command with RegReplace rules
To work with commands in Sublime Text, I use the Suricate framework. It allows you not to create 100,500 sublimе-commands , sublime-keymap , Context.sublime-menu and Main.sublime-menu , but to specify settings for opening commands from the Command Palette, the context menu, Menu Bar and hot keys in one file for all commands of all plugins and default settings.
Add the following lines to the User/Default.suricate-profile :
"sublime_latin_to_cyrillic": { "call": "sublime.reg_replace", "caption": "RegReplace: Latin To Cyrillic", "args": { "replacements": [ "sasha_felicity_A", "sasha_felicity_B", "sasha_felicity_E", "sasha_felicity_K", "sasha_felicity_M", "sasha_felicity_H", "sasha_felicity_O", "sasha_felicity_P", "sasha_felicity_C", "sasha_felicity_T", "sasha_felicity_a", "sasha_felicity_e", "sasha_felicity_o", "sasha_felicity_p", "sasha_felicity_c", "sasha_felicity_y", "sasha_felicity_x", ] } },
Options:
sublime_latin_to_cyrillic - the name of the array. You can set an arbitrary, if only it was clear what it means.call - Sublime Text command name in the sublime.$имя команды format sublime.$имя команды .caption - what will be the name of the item in the Command Palette, clicking on which will start the command specified in the call . Instead of RegReplace: Latin To Cyrillic You can set an arbitrary, if only it was clear that it means.args are reg_replace command reg_replace . They are the rules referred to in the previous section.
I recommend using Suricate, but you can make settings without installing additional plug-ins. Preferences → Package Settings → RegReplace → Commands - User → RegReplace code into the opened file:
[ { "caption": "Reg Replace: Test RegReplace", "command": "reg_replace", "args": { "replacements": [ "sasha_felicity_A", "sasha_felicity_B", "sasha_felicity_E", "sasha_felicity_K", "sasha_felicity_M", "sasha_felicity_H", "sasha_felicity_O", "sasha_felicity_P", "sasha_felicity_C", "sasha_felicity_T", "sasha_felicity_a", "sasha_felicity_e", "sasha_felicity_o", "sasha_felicity_p", "sasha_felicity_c", "sasha_felicity_y", "sasha_felicity_x", ] } } ]
What the parameters mean is clear from the previous section. Do not get confused in the JSON-syntax of the configuration files, put brackets, quotes and commas correctly.
Using
After you have made all the settings, open the file in which you want to replace → Ctrl + Shift + P → Suricate: RegReplace: Latin To Cyrillic → Enter → should turn out like this:

?{}, which means that the code for the substitution will not work. If you are using linux, then you can use the tr command, which just performs your task. - KoVadim pm