Sublime text

From LemonWiki共筆
Jump to navigation Jump to search

Sublime Text - Text Editing, Done Right

How to open existing text files with Sublime Text from terminal?[edit]

  • Open the terminal
  • Key in subl path/to/file.txt where subl is the alias shorthand for sublime text

Explanation[edit]

1. Determine which shell you're using by running this in Terminal:

echo $SHELL

2. Edit the appropriate configuration file:

My result on macOS icon_os_mac.png is

/bin/zsh

Choose appropriate configuration file

For Bash: ~/.bash_profile or ~/.bashrc
For Zsh (default on newer macOS): ~/.zshrc

3. Open the file with a text editor:

vi ~/.zshrc

4. Existing alias in the file:

alias subl='open -a "Sublime Text"'

5. Save the file, then reload the configuration:

source ~/.zshrc


How to open and create non-existent files with Sublime Text from terminal?[edit]

1. First, edit your .zshrc file and remove the previously defined subl alias

2. Then add the new function definition

Open your

.zshrc

file:

vi ~/.zshrc

3. Find and remove the previous "subl" alias line, which looks something like:

alias subl='open -a "Sublime Text"'

Then add this function:

subl() {
  for f in "$@"; do
    [ -f "$f" ] || touch "$f"
  done
  open -a "Sublime Text" "$@"
}

This function creates a command subl that opens files in Sublime Text while automatically creating any non-existent files:

  1. for f in "$@" - Loops through each filename you provide
  2. [ -f "$f" ] || touch "$f" - Checks if each file exists, creates it if not
  3. open -a "Sublime Text" "$@" - Opens all files in Sublime Text

Simply put: It ensures all files exist before opening them in Sublime Text, preventing "file not found" errors.

4. Save the file, then reload the configuration:

source ~/.zshrc

5. Now it should work properly. Try creating a non-existent file:

subl non-exist.md

This should create the "non-exist.md" file and open it in Sublime Text.

References[edit]