How to open and save files - sublimetext2

Is there a way to quickly open files in sublime text2?
At the moment I open files like this.
I open my terminal and enter
subl source/myproj/myfile.rs
Can I do this inside of sublime text2/3?
Also when I want to create a new file in source/myproj/ I usally press ctrl + n to create a new window and then I hit ctrl + s to save and name the file. The problem is when I hit ctrl + s my file system dialog opens and I have to use my mouse.
I think I saw someone using vim and he just could say source/myproj/mynewfile.rs and then the file would be created.
Is this possible in sublime text 2/3?

To quickly open a file in your current project, you can hit Ctrl+P and start writing the filename. This will sort through the files in your project and give you a little list, most likely the one you are looking for is pre selected, but if not, it is somewhere near the topmost options to select from, use arrow key down and highlight it, press enter and you just opened that file.
Another option to quickly create a file is using the AdvancedNewFile plugin.
When you hit Ctrl+n, it asks near the bottom of the window for a path and filename, once you enter it, it opens the new tab with the file already created, not an untitled file to later use system dialog to save to disk.

Related

Is there a way to open a file in split view from recent files popup

I have this Recent files popup:
I can open any file from it by pressing ENTER. Is there any way to open the file in a split view? I have tab limit set to 1, so opening a file from Recent files and then opening it in a split view replaces the currently open file. I'd like to open a file in a split view without replacing the current tab. Maybe key mapping somehow?
Unfortunately not (as far as my knowledge goes).
https://youtrack.jetbrains.com/issue/IDEA-108556 -- watch this and related tickets (star/vote/comment) to get notified on any progress.
The only other possible options (generally speaking):
Shift + Enter to open it in a new/detached editor.
Open as usual and then use Move Down or Move Right to move it in that split group (will create if you do not have one). But this will NOT work if you set to have only 1 editor tab max.
Open as usual, clone it to bottom/right side (so it opens in both splitters) and then re-open recently closed file in one of the split areas again (yeah .. long and inconvenient).
Move focus to another splitter before invoking Recent Files (if you have no such splitter yet -- create one for current file). Now chose file as usual -- it will replace file in current splitter (inconvenient as you need to think about correct location in advance instead of quickly opening the needed file).

SublimeText3 open header/source

I use sublimetext3 to program C++.
I use multiple window splits with multiple files open.
Sometimes I use alt+o hotkey / switch_file command to open the associated header/source file.
If I hit switch_file command and the matching header/source is already open in the same sub window split, it will jump to that tab instead of reopening the file.
But if I have a header open in one sub window split, and the source open in another sub window split, and I do switch_file command, it will open another copy of the file in the currently focused window.
Is there a way that I can set it to jump to the file even if it needs to focus another window split?
Thanks
I think the easiest way to establish this is to change the switch_file command.
Install PackageResourceViewer and type PackageResourceViewer: Open Resource, select Default and then open switch_file.
In line 41 just change
self.window.open_file(new_path, flags = sublime.FORCE_GROUP)
to
self.window.open_file(new_path)
and save the file. This will not overwrite the existing file (which is in a zip folder), but create a file, which shadows the original file.

Sublime Text Prompt to Save File

I often will have a scratch pad in ST that I then close via Ctrl-F4. It always prompts me to save it, which I find to be a pain.
Is there a setting in ST where I can either change to default of this dialog to "Close without saving", or do not even prompt me at all if it is a new file (i.e. has no name).
You can set a tab to be a scratch buffer (doesn't prompt to save when closed). With the desired tab opened, open the console with Ctrl` and type:
view.set_scratch(True)
then hit Enter, and close the console with Esc. You can now close the tab whenever you want without being prompted. Of course, you can manually save the contents if you wish.
If you would like to have all new buffers set to scratch by default, you'll need a plugin. Create a new Python file in Sublime with the following contents:
import sublime
import sublime_plugin
class SetNewScratchBuffer(sublime_plugin.EventListener):
def on_new(self, view):
view.set_scratch(True)
def on_save(self, view):
view.set_scratch(False)
Save the file as Packages/User/set_new_scratch_buffer.py where Packages is the folder opened when selecting Preferences -> Browse Packages... (~/.config/sublime-text-2/Packages on Linux with ST2). Once saved, it should automatically become active, although you can restart Sublime to make sure. Now, all new buffers created with CtrlN or File -> New File will automatically have the scratch attribute set. This will be disabled when the file is saved, so you don't accidentally destroy changes to an opened file.

Go to file when file already open in other panes/windows open in Sublime 2

If I have several panes (groups) open and do CTRL+P (go to anything) and type the name of a file which is already open in another pane, Sublime will open this file in the pane I started Go to anything from. I want it to go to any of the other panes, where this file is already opened instead of opening a new instance of the file.
How can I achieve this?
There are a couple of packages/plugins that may be close to what you want:
GotoOpenFile, you can choose from a list of views in whole window or the active group:
https://sublime.wbond.net/packages/GotoOpenFile
or the newer Zen Tabs, which has some other useful file status as well as tab management
https://sublime.wbond.net/packages/Zen%20Tabs

start opened file from sublimetext in associated program

i usually edit files in sublime text 2 that can also be edited and compiled with another program. As i have them already opened in sublimetext i do the following:
right click and choose "copy file path" (to clipboard)
Win+R to open windows run dialog
CTRL+V to paste the file path
hit enter to open the file with the associated program
i wonder some shortcut can be configured so it automatically starts the opened file with its associate program
thanks in advance
This can be done. I was in a very similar situation using Sublime as my editor of choice over the default SAS program editor. I was able to use the win32com.client.dynamic.Dispatch module to connect to SAS via OLE and pass text from Sublime directly to SAS using Sublime's build system to call my plugin. Making the connection was the easy part, it was the other processing that I had to do which was the time consuming part, but since you want to pass just a file name or the entire contents of your file, this should be a fairly straightforward plugin. Since I do not know what program you wish to open, here is the code that makes my implementation work. Maybe you caan glean something out of this.
def send_to_sas_via_ole(selected_code):
from win32com.client.dynamic import Dispatch
sasinstance = Dispatch("SAS.Application")
# submit the lines to sas
for selection in selected_code:
# for some reason cannot send as one big line to SAS, so split into
# multipe lines and send line by line
for line in selection.splitlines():
sasinstance.Submit(line)
and then the call in the run method of my plugin class:
class RunSasMakoCommand(sublime_plugin.TextCommand):
def run(self, edit):
try:
send_to_sas_via_ole(selected_code)
except Exception as e:
print "\n".join(selected_code)
print "Couldn't connect to SAS OLE"
print e
Good luck!
Open 'regedit.exe';
Navigate to
HKEY_CLASSES_ROOT\Applications\sublime_text.exe\shell\open\command
correct the path. Exit 'regedit.exe'
(optional) restart 'explorer.exe' or reboot your PC.
enjoy :p;
Right click on the file, press "Properties". You will see Opens with SomeProgram and then a change button. Click on the change button, and then look through the list for Sublime Text, if you can't find it, you can choose an application using the file explorer, from there you can navigate to C:\Program Files\Sublime Text 2 and choose sublime_text.exe