Start Sublime 3 from terminal, when default is Sublime Text 2 - linux

I am on Ubuntu 12.04 LTS. Calling sublime foo.txt would normally open foo.txt in Sublime Text 2. Recently I installed Sublime Text 3. In addition to this, I tried to remove Sublime Text 2 completely from my filesystem.
After doing this, my system still tries to open Sublime Text 2 when I use sublime in my terminal. Clearly this is no good - because I removed Sublime Text 2. (at least partially).
I noticed the Sublime Text 2 icon is still in my applications list. If I try to remove it by clicking Uninstall I get the following error:
The files which should be removed are not part of any installed software.
So how do I fully remove it from an Ubuntu system, and how do I make sublime open Sublime Text 3?

Type : subl in terminal to launch Sublime Text 3 from terminal.

sudo ln -s /opt/sublime_text/sublime_text /usr/bin/sublime

When you run sublime, your computer should run a bash file at /usr/bin/sublime (running which sublime as Mike Li suggested will confirm the location. Open that up and edit it for Sublime Text 3. The contents of that file should be:
#!/bin/bash
/usr/lib/sublime-text-2/sublime_text --class=sublime-text-2 "$#"
Edit it as so: (On my computer the executable is called subime_text_3 instead of subime_text. Verifiy by opening /usr/lib/sublime-text-3.)
#!/bin/bash
/usr/lib/sublime-text-3/sublime_text_3 --class=sublime-text-3 "$#"
Point it to the location of Sublime Text 3 on your system.
Edit Build 2221 (using the ppa) changed the installation directory from /usr/lib/sublime-text-2 to /opt/sublime_text_2

No need to do extra configuration for this. Just use subl commnad and it will open the sublime text editor.

For sublimetext 3, it is only need "subl"

Related

How to make Sublime Text open several files in one window?

Using Sublime Text 3 on the Centos 7.6 (Linux) operating system.
When I use Sublime Text to open files from the command prompt:
[root#localhost www]# sublime sitemap.php
[root#localhost www]# sublime robots.txt
The files are opened in 2 Sublime Text windows, even when the open_files_in_new_window setting is set to false.
How do I make Sublime Text open the files in one window?
I also use a Linux distribution and when I open files from the command line they do open in the same window.
The command you are using on the command line is sublime I suspect that starts Sublime Text with the --new-window option.
Look to see if you have the /usr/bin/subl file on your system. If you do then use subl instead of sublime on the command line and see if that opens the files in the same window.
If /usr/bin/subl is not on your system then you can create it like this:
Note: /usr/bin/subl is just the Sublime Text launcher which is automatically installed on Debian based Linux distributions.
Add these 2 lines to a new file and save it as /home/user/subl:
Note: Change the path to /opt/sublime_text/sublime_text if need be.
#!/bin/sh
exec /opt/sublime_text/sublime_text "$#"
Then run these commands as a super user or with sudo, whatever is easiest with Centos:
$ chown root:root subl
$ mv subl /usr/bin/
Now you should be able to use subl on the command line to open files in Sublime Text and they should open in the same window, e.g.:
$ subl sitemap.php
$ subl robots.txt

Opening up files with sublime text 3 in git bash in Windows

I want to open files with Sublime text 3. Is there a way that I can permanently set Sublime text as the default editor in git bash?
I tried the following code:
alias 'subl= "/c/Program Files/Sublime Text 3/subl.exe"'
and it worked. But, when I closed the Git bash and reopen it later, the command subl didn't work and I had to type in the code again.

Linux how to write a python file without an IDE

Make a copy of a computer python file you wrote for some other course without an IDE just a simple text editor
Modify this program slightly, without using an IDE.
Run the modified program, without using an IDE
How do I create a python file with linux?
To create a python file using Linux use command touch to create a file(will create a file in current directory, to know the current directory use cd command)
touch myfile.py
Open the file using one of the available text editors, for example vi:
vi myfile.py
Type your code and use command :wq to save and close the file.
a=2
b=3
print a+b
Run your code using python command:
python myfile.py
5 #output
To check or install Python on Linux, please refer to AWS detailed instructions: LINK
To get more instructions on using vi editor: LINK
It is as usual with writing c programs and others. No difference at all. If you are familiar with linux command line you can use command line text editors. Otherwise use gedit , sublime text,vs code,atom..etc (all are text editors with GUI) just as you use a notepad in windows.

Ansible vault doesn't save changes with Sublime Text

I'm running ansible 1.9.4 on OSX installed via pip.
If I do ansible-vault create x, then make some changes and save, then the file appears blank whenever I do ansible-vault view x or ansible-vault edit x.
I've got Sublime Text 3 as my $EDITOR. When I set it to vim instead, it all works as expected, and I can edit and save my files encrypted with ansible-vault. Any idea what could be happening here?
I don't think it'll work with the standard Sublime command line launcher. ansible-vault waits for the editor process to exit before encrypting the temp file it creates- the Sublime launcher exits immediately, so you end up with an empty vault file.
EDIT:
To make it work with the standard Sublime command line launcher, you have to specify the -w flag, which will stop the subl process from existing until the file is closed in sublime text. (see docs)
So your .bashrc should have a line like this:
export EDITOR='subl -w'

Edit a text file on the console using Powershell

I'm trying to figure out the easiest way to edit text files in the console (PowerShell in my case). I'm using Windows 7 64 bit. It galls me that I can't just type edit filename.txt to edit a file. That used to work, but that's all changed. What are my options to view and edit text files within the windows console, and if you tell me to install and learn VIM I'm going to punch you in the face. :-)
Why not use notepad?
notepad.exe filename.txt
The old edit.com works in PowerShell (at least on my box: Windows 7 Pro x86) but in x64 it doesn't work due to its 16bit architecture.
You can take a look at this easy editor.
Kinesics Text Editor.
It's super fast and handles large text files, though minimal in features. There's a GUI version and console version (k.exe) included. Should work the same on linux.
Example: In my test it took 7 seconds to open a 500mb disk image.
While risking you punching me, I guess you are stuck with the solution you mentioned. Have a look at this posting on SuperUser:
Which are the non-x text editors in Powershell?
Also, there is a nano version for windows:
Nano Editor
I'll duck and cover now, hopefully someone will have a more sufficient answer.
Bit of a resurrect but for anyone else coming to this question, take a look at the Micro editor. It's a small standalone EXE with no dependencies and with native Windows 32\64 versions. Works well in both PowerShell and CMD.EXE.
I agree with Sven Plath. Nano is a great alternative. If you have Chocolatey or scoop, you can install nano by typing the following in Powershell:
PS C:\dev\> choco install nano
# --OR--
PS C:\dev\> scoop install nano
Then, to edit somefile.txt enter:
PS C:\dev\> nano somefile.txt
It's pretty neat!
Edit:
Nano works well on my Windows 10 box but takes incredibly long to load the first time on my Windows 7 machine. That made me switch to vim (vi) on my Win 7 laptop
PS C:\dev\> choco install vim
PS C:\dev\> vim $profile
Add a line in the powershell profile to Set-Alias (sal)
sal vi vim
Esc - : - x - Enter :-)
If you use Windows container and you want change any file, you can get and use Vim in Powershell console easily.
To shelled to the Windows Docker container with PowerShell:
docker exec -it <name> powershell
First get Chocolatey package manager
Invoke-WebRequest https://chocolatey.org/install.ps1 -UseBasicParsing | Invoke-Expression;
Install Vim
choco install vim
Refresh ENVIRONMENTAL VARIABLE
You can just exit and shell back to the container
Go to file location and Vim it vim file.txt
You could install Far Manager (a great OFM, by the way) and call its editor like that:
Far /e filename.txt
You can install nano in powershell via choco - It's a low friction way to get text editing capabilities into powershell:
Install Choco
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
Install Nano
choco install nano
Profit
nano myfile.txt
Best part is it becomes part of the path, and stays working across reboots etc :)
install vim from online, and then you can just do:
vim "filename" to edit that file
I'm thinking you could just use notepad, like this:
notepad myfile.extension
It should open in notepad.
I am a retired engineer who grew up with DOS, Fortran, IBM360, etc. in the 60's and like others on this blog I sorely miss the loss of a command line editor in 64-bit Windows. After spending a week browsing the internet and testing editors, I wanted to share my best solution: Notepad++. It's a far cry from DOS EDIT, but there are some side benefits. It is unfortunately a screen editor, requires a mouse, and is consequently slow. On the other hand it is a decent Fortran source editor and has row and column numbers displayed. It can keep multiple tabs for files being edited and even remembers where the cursor was last. I of course keep typing keyboard codes (50 years of habit) but surprisingly at least some of them work. Maybe not a documented feature. I renamed the editor to EDIT.EXE, set up a path to it, and invoke it from command line. It's not too bad. I'm living with it. BTW be careful not to use the tab key in Fortran source. Puts an ASCII 6 in the text. It's invisible and gFortran, at least, can't deal with it. Notepad++ probably has a lot of features that I don't have time to mess with.
Not sure if this will benefit anybody, but if you are using Azure CloudShell PowerShell you can just type:
code file.txt
And Visual Studio code will popup with the file to be edit, pretty great.
Well there are thousand ways to edit a Text file on windows 7.
Usually people Install Sublime , Atom and Notepad++ as an editor.
For command line , I think the Basic Edit command (by the way which does not work on 64 bit computers) is good;Alternatively I find type con > filename as a very Applaudable method.If windows is newly installed and One wants to avoid Notepad. This might be it!!
The perfect usage of Type as an editor :)
reference of the Image:- https://www.codeproject.com/Articles/34280/How-to-Write-Applet-Code
I had to do some debugging on a Windows Nano docker image and needed to edit the content of a file, who would have guessed it was so difficult.
I used a combination of Get-Content and Set-Content and base 64 encoding/decoding to update files. For instance
Editing foo.txt
PS C:\app> Set-Content foo.txt "Hello World"
PS C:\app> Get-Content foo.txt
Hello World
PS C:\app> [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("TXkgbmV3IG11bHRpDQpsaW5lIGRvY3VtZW50DQp3aXRoIGFsbCBraW5kcyBvZiBmdW4gc3R1ZmYNCiFAIyVeJSQmXiYoJiopIUAjIw0KLi4ud29ybGQ=")) | Set-Content foo.txt
PS C:\app> Get-Content foo.txt
My new multi
line document
with all kinds of fun stuff
!##%^%$&^&(&*)!###
...world
PS C:\app>
The trick is piping the base 64 decoded string to Set-Content
[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("...")) | Set-Content foo.txt
Its no vim but I can update files, for what its worth.
In linux i'm a fun of Nano or vim, i used to use nano and now vim, and they are really good choices. There is a version for windows. Here is the link https://nano-editor.org/dist/win32-support/
However more often we need to open the file in question, from the command line as quick as possible, to not loose time. We can use notepad.exe, we can use notepad++, and yea, we can use sublim text. I think there is no greater then a lightweight, Too powerful editor. Sublime text here. for the thing, we just don't want to get out of the command line, or we want to use the command line to be fast. and yea. We can use sublime text for that. it contain a command line that let you quickly open a file in sublime text. Also there is different options arguments you can make use of. Here how you do it.
First you need to know that there is subl.exe. a command line interface for sublim.
1-> first we create a batch file. the content is
#ECHO OFF
"C:\Program Files\Sublime Text 3\subl.exe" %*
We can save that wherever we want. I preferred to create a directory on sublime text installation directory. And saved there the batch file we come to write and create.
(Remark: change the path above fallowing your installation).
2-> we add that folder to the path system environment variable. and that's it.
or from system config (windows 7/8/10)
then:
then:
then we copy the path:
then we add that to the path variable:
too quick!
launch a new cmd and now you've got subl command working well!
to open a file you need just to use subl command as fellow:
subl myfileToOpen.txt
you can also use one of the options arguments (type --help to see them as in the image above).
Also note that you can apply the same method with mostly any editor of your choice.
You can do the following:
bash -c "nano index.html"
The command above opens the index.html file with the nano editor within Powershell.
Alternatively, you can use the vim editor with the following command
bash -c "vi index.html"
If you have windows subsystem for linux (wsl), you will find the following command very useful:
bash -c "vi filename.txt"
Sadly powershell doesn't come with a built in console-text editor.
You can redirect standard input for simple oneliners like so:
# write text and overwrite the file with that text
"my text that will appear in the file" > file.txt
For anything more complicated you will need a package manager Chocolatey
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
and install any of the following editors:
Nano
choco install nano
Issues
Very laggy on windows
Problems with arrow control
Vim
choco install vim
Issues
No major issues just remember esc + :!qa will exit vim

Resources