Teks Luhur dari Command Line


200

Saya memasang Sublime Text dan ingin tahu cara membuka rbfile di dalamnya dari terminal. Saya melihat Apa perintah untuk menjadikan Sublime Text sebagai editor inti saya? dan saya melihat bahwa saya dapat menjadikan Sublime editor inti saya, tetapi saya ingin dapat mengetik

sublime file.rb

Bagaimana saya melakukan ini di Windows?


2
sublim awalan bukan bagian penting. bisa salah satu perintah kata benar-benar.
mehulkar

Jawaban:


156

Dari build 3065 (Tanggal Rilis: 29 Agustus 2014) dan seterusnya Sublime texttermasuk helper baris perintah, nameley subl.exe. Itu ada di folder instalasi sublime: salin ke folder yang termasuk dalam jalur sistem. Misalnya, dalam kasus saya, saya menyalinnya

dari C:\Program Files\Sublime Text 3

untuk C:\Windows\System32

Anda kemudian dapat menggunakan terminal / konsol Anda sublsebagai perintah untuk membuka file apa pun, seperti dalam contoh Anda:

subl file.rb

Atau Anda mungkin juga memodifikasi PATHvariabel sistem Anda untuk memasukkan folder instalasi sublime, tapi saya percaya itu jauh lebih terlibat.


60
Saya akan mengatakan bahwa menambahkan direktori instalasi Sublime PATHadalah cara yang lebih mudah untuk mengaktifkan pembantu baris perintah Sublime. Dengan cara ini Anda akan memastikan bahwa semua pembaruan akan diterapkan secara otomatis. Menyalin yang subl.exedapat dieksekusi ke direktori windows akan membutuhkan penyalinan berulang setelah setiap pembaruan.
edufinn

6
Sekarang. Saya punya masalah. Ini tidak berfungsi jika teks sublim belum dibuka.
Istana pasir

4
Anda seharusnya melihat scotch.io/tutorials/…
sandcastles

8
"Atau kamu bisa memodifikasi variabel PATH sistemmu untuk memasukkan folder instalasi sublime, tapi aku percaya itu jauh lebih terlibat." Cukup klik kanan pada Komputer. Pilih properti kemudian klik pada "Pengaturan Sistem Lanjutan". Dari sana Pergi ke Variabel Lingkungan> Path dan tambahkan; C: \ Program Files \ Sublime Text 3 Beberapa langkah lagi saya akan memberi Anda tetapi trik yang sangat mudah dan berguna untuk mengetahui :)
Tom Wilkinson

9
Atau cukup buat symlink denganmklink c:\Windows\System32\subl.exe "c:\Program Files\Sublime Text 3\subl.exe"
Kwadz

196

Prompt Perintah Windows

Untuk Windows cmd.exe Anda bisa menambahkan direktori instalasi teks luhur ke variabel lingkungan PATH Anda, ini memungkinkan Anda untuk mengetik:

sublime_text file.rb

Secara pribadi, saya menambahkan doskey (dalam file .bat diatur ke autorun dengan cmd ) sehingga saya dapat mengetik subl file.rb:

> doskey subl="C:\Program Files\Sublime Text 2\sublime_text.exe" $*

Cygwin

Untuk bash shell default, tambahkan alias ke ~/.bashrcfile Anda , misalnya:

$ echo 'alias subl="/cygdrive/c/Program\ Files/Sublime\ Text\ 2/sublime_text.exe"' >> ~/.bashrc

1
Apakah saya mengatur doskey untuk cygwin juga? atau ada cara lain untuk melakukan itu. Saya tidak menggunakan windows cmd
mehulkar

8
Ah, kesalahan saya, saya berasumsi Anda menggunakan cmd. Apakah Anda menggunakan bash shell default yang disertakan dengan cygwin? Jika demikian, Anda dapat menggunakan alias seperti pos yang ditautkan ke:$ echo 'alias subl="/cygdrive/c/Program\ Files/Sublime\ Text\ 2/sublime_text.exe"' >> ~/.bashrc
pjumble

ini mungkin membantu terlalu rhyous.com/2010/10/20/...
Miguel

1
meluncurkan SL2 dari baris perintah dengan cara ini menyebabkan salinan SL2 saya mulai dengan pengaturan preferensi pengguna yang kosong. Adakah yang memiliki masalah yang sama?
hndr

3
perhatikan bahwa jika Anda melakukan ini, Anda dapat memiliki masalah ini dengan sistem build. Saya menggunakan file .bat sederhana di folder luhur sebagai gantinya dan meletakkannya di PATH, bekerja lebih baik, tidak ada masalah membangun sistem.
eis

136

Saya menambahkan ini ke profil PowerShell saya :

Set-Alias subl 'C:\Program Files\Sublime Text 2\sublime_text.exe'

Ubah ini sesuai kebutuhan untuk Sublime Text 3 (atau versi yang akan datang).


3
Bagus! Setelah saya pindah ke PowerShell ... Saya tidak pernah melihat ke belakang ke CMD.
imlokesh

Terima kasih banyak. Saya menemukan PowerShell sangat ramah bagi pengembang yang datang dari dunia Linux / Mac
Antony

jawaban yang bagus .. sederhana dan lurus ke depan +1
Robbo_UK

Ya, untuk PowerShell, berfungsi dengan baik. Sebab cmd, Anda masih harus menambahkan path ke sublime_text.exedalam path windows
MwamiTovi

55

Gagasan lain akan dimasukkan C:\Program Files\Sublime Text 2\dalam PATH Anda, dan kemudian jalankan prompt perintah administrator:

cd "C:\Program Files\Sublime Text 2\"
mklink sublime.exe sublime_text.exe

Itu akan membuat tautan simbolis dengan nama baru. Dan sekarang Anda dapat menggunakannya secara bebas:

sublime hello.txt

Pembaruan : Setelah memiliki kesempatan untuk menggunakan trik ini dan memperbarui Sublime Text 2, saya senang mengatakan bahwa memperbarui ke bangunan baru tidak memengaruhi tautan simbolis.


5
Btw, Anda meninggikan privs Windows (7) Anda dengan menekan Ctrl-Shift-enter setelah mengetik cmd ke kotak teks Mulai | Jalankan ...
likethesky

Ini persis apa yang saya cari. Sangat cepat dan bersih
C. Zeng

25

Saya telah membuat subl.bat di C: \ Program Files \ Sublime Text 2 dengan konten:

start sublime_text.exe %*

Sekarang saya memiliki C: \ Program Files \ Sublime Text 2 di PATH, saya cukup mengetik 'subl folder' dan berfungsi dengan baik tanpa harus menambahkan apa pun ke autostart.


Terima kasih banyak untuk 'folder subl'. Tidak tahu itu :)
y0prst

1
Saya telah mengubah subl.bat menjadi "mulai sublime_text.exe% *" dan sekarang tidak memblokir konsol saya.
y0prst

Alih-alih file .bat, Anda dapat membuat pintasan dan beri nama sesuai keinginan tanpa ekstensi. Setidaknya itu bekerja untuk saya di Windows 7.
sentakan

@psycketom bisa tolong jelaskan. Saya telah membuat jalan pintas ke exe sublime 2 di direktori proyek saya dan menyebutnya subl. sekarang ketika menjalankan subl di konsol saya dikatakan tidak dikenali sebagai perintah eksternal atau internal. Hanya perintah "mulai subl" yang akan membuka program
Postscripter

1
@Postscripter Dia berarti dia pergi ke Control Panel-> System-> Advanced System Settings-> Environment Variables-> dan menambahkan teks C:\Program Files\Sublime Text 2;ke akhir nilai variabel PATH.
Cory Gross

18

Saya pikir itu lebih mudah mengatur variabel Lingkungan di Windows.

Kemudian cukup tambahkan variabel Sistem baru yang disebut SUBLIME_HOME dengan nilai "C: \ Program Files \ Sublime Text 2 \" (tanpa tanda kutip) setelah mengedit Path variabel menambahkan pada akhirnya nilai ini ";% SUBLIME_HOME%" (tanpa tanda kutip) .

Mulai ulang git BASH dan nikmati, menggunakan seperti ini:

$ sublime_text mi-new-file

(di mana sublime_text adalah perintah)

Catatan: Juga berfungsi sekarang untuk cmd Windows.


1
Solusi yang sangat bagus Bersih, cepat, mudah, tidak main-main dengan utama saya %PATH%. Bekerja sangat baik juga, bekerja pada prompt cmd reguler (dengan sublime_text), PowerShell, Git Shell GitHub, dan Git Bash (tiga yang terakhir dengan sublime_text.exe). Gagal pada Cygwin, kemungkinan karena menggunakan sistem jalur yang berbeda. Adakah yang tahu jika menambahkan jalur cygwin seperti, /cygdrive/c/sublime text 2ke variabel lingkungan sistem saya akan menyebabkan masalah (Saya baru saja menambahkannya ke yang %SUBLIME_HOME%saya buat di atas)?
hjc1710

17

Tambahkan folder instalasi ke path windows dan Anda akan dapat membuka Sublime dengan mengetikkan nama file yang dapat dieksekusi, yang secara default " subl".

Untuk memasukkan folder instalasi Sublime di jalur windows,

  1. Buka command prompt dan ketik sysdm.cpl
  2. Di tab Lanjut, pilih Environment variables
  3. Di bawah variabel sistem, pilih variabel bernama " Path" dan klik Edit.
  4. Tambahkan " C:\Program Files\Sublime Text 3;" ke akhir string yang ada.
  5. Simpan perubahan dan mulai ulang prompt perintah.

10

Saya tahu utas ini agak lama, tetapi saya baru-baru ini datang dengan solusi ini dan berpikir saya akan membagikannya ...

Jika Anda menggunakan Cygwin, Anda bisa membuat skrip bash yang akan mengubah nama path unix menjadi path windows dan meneruskannya ke sublim. Rekatkan yang berikut ini ke file baru:

#!/bin/bash

/cygdrive/c/Program\ Files/Sublime\ Text\ 2/sublime_text.exe `cygpath -w $@` &

Simpan di /usr/bin/subl(atau di mana pun Anda inginkan selama lokasinya ada di Anda $PATH) dan buat itu bisa dieksekusi ($ chmod a+x /usr/bin/subl )

Dengan skrip ini, Anda dapat menggunakan jalur gaya UNIX dan Windows ( /cygdrive/c/atau C:/) karena cygpathutilitas mengubah alias jalur /dan ~ke jendela yang setara.

Sekarang, Anda dapat menggunakan $ subl file1.txt file2.md ~/file3.txtuntuk membuka file-file itu dengan luhur!


10

The jawaban yang diterima tampaknya tidak bekerja, setidaknya untuk Sublime Text 3 pada Windows 7. Menyalin file langsung ke C:\Windows\System32memungkinkansubl untuk tekad baik dari shell, tapi ketika saya jalankan, tidak ada yang terjadi.

Saya lebih sukses dengan hardlink:

mklink /h c:\windows\system32\subl.exe "c:\Program Files\Sublime Text 3\subl.exe"

Dengan itu, subl <file.txt>dan subl <directory>keduanya bekerja dengan baik.


memvoting jawaban ini, tetapi saya tidak memiliki mesin Windows untuk menguji ini.
mehulkar

1
@mehulkar, saya menguji metode hardlink, itu tidak berhasil untuk saya
Weijing Jay Lin

1
Bekerja sangat baik untuk saya - Windows 10 dan ST3
Nate Beers

7

Saya mencoba ruby ​​pada rel di windows dan memasukkan PATH C:\Program Files\Sublime Text 2\, lalu ubah namanya sublime.exemenjadisubl.exe.

bekerja dengan baik dalam cmd biasa dan "command prompt dengan ruby ​​dan rails" cmd


5

Saya membuat file batch sederhana (s.bat) di direktori windows untuk memulai teks yang luhur

Ini adalah kode yang saya masukkan ke file batch untuk memulai Sublime Text 2

@start "sublime" "%ProgramW6432%\Sublime Text 2\sublime_text.exe" %*

Saya menyebutnya luhur dengan mengetik

s

Saya langsung membuka file menggunakan

s filename.ext

5

Saya baru saja menjalankan program Command Prompt sebagai Administrator, dan menjalankan perintah berikut.
Sederhana, tetapi bekerja untuk saya.

echo "c:\Program Files\Sublime Text 3\subl.exe" %1 > %systemroot%\system32\subl.bat

Tentu saja, Anda dapat memanggil file bat apa pun yang Anda inginkan. Mulai saat itu, karena setiap pengguna dapat menggunakan:

subl myfile.txt

5

Jika Anda menggunakan Cmder, Anda dapat menambahkan alias ke file alias Anda, yang berlokasi di mana pun Anda menginstal cmder, lalu konfigurasikan \ aliases

Anda kemudian dapat menambahkan (ini untuk teks luhur 3)

subl="C:\Program Files\Sublime Text 3\sublime_text.exe" $1

Dari dalam Cmder, Anda kemudian dapat membuka direktori apa pun dengan luhur

subl="C:\Program Files\Sublime Text 3\sublime_text.exe" $1

4

coba ini:

alias subl='"/c/Program Files/Sublime Text 2/sublime_text.exe"'

pastikan bahwa sublim menginstal direktori mana. Ini akan membuat alias untuk sublim kemudian ketik:

subl file.rb

3

Saya ingin memulai contoh baru Sublime Text dari command-line .. Halaman berikut membantu saya, meskipun hanya mengatakan OSX: http://www.sublimetext.com/docs/3/osx_command_line.html .

Jadi, saya menggunakan file batch di jalur pengguna saya untuk meluncurkan 'luhur'. Berikut ini pada dasarnya apa yang saya gunakan (** konten file batch):

@start "sublime" "%~dp0Sublime Text\sublime_text.exe" --new-window %*

(file batch saya %~-dp0 terletak satu folder di atas jalur instalasi Sublime Text.)

Saya tahu ini adalah utas lama, tetapi saya pikir saya akan menambahkan apa yang saya cari (dan temukan). Mungkin membantu orang lain!


3

Keluar dari jawaban yang paling diterima, tetapi yang sayangnya penulis mengatakan memodifikasi PATH adalah "sulit" - tidak sama sekali. Sangat mudah. Saya baru saja melakukannya, dan Anda juga bisa!

Inilah yang harus dilakukan:

Arahkan ke direktori teks agung Anda di Windows Explorer dan salin path lengkap dari bar path.

Sebagai contoh, saya memiliki beberapa alat pengembangan yang disiapkan sebagai aplikasi portabel di Dropbox, jadi saya menyalin jalurnya:

C:\Users\username\Dropbox\Programs\Sublime Text Build 3114 x64

Pergi ke Control panel-> System-> Advanced System Settings-> Variabel Lingkungan

Di jendela yang dihasilkan, navigasikan ke "path" di jendela bawah, sorot dan klik "Edit".

Di jendela yang muncul, klik "Baru", rekatkan di jalur Teks Luhur Anda, dan klik "OK".

Sekarang buka CMD atau Powershell dan ketik subl

Jendela Teks Sublim seharusnya terbuka. Nikmati!

Catatan: Saya perhatikan orang lain menjawab ini dengan cara yang sama, tetapi menggunakan lokasi tetap untuk Sublime Text. Itu mungkin bekerja untuk beberapa orang, tetapi untuk yang lain arahnya akan salah. Faktanya adalah, lokasi Sublime Text dapat berada di mana saja pada drive, dan mengetahui di mana itu berada dan menyalin lokasi tertentu adalah salah satu bagian terpenting dalam menetapkan variabel PATH.


3
  • Tetapkan jalur untuk luhur: Komputer saya >> properti >> pengaturan lanjutan >> variabel lingkungan >> variabel jalur >> Tambah >> C:\Program Files\Sublime Text 3

  • Cukup buka direktori tempat sublime diinstal dan ganti nama sublime_text menjadi sublim.

Buka command prompt dan ketik luhur.


2

Anda cukup menginstal Notepad Replacer http://www.binaryfortress.com/NotepadReplacer/ yang akan dilakukan adalah menjadikan sublime notepad default Anda di Windows dan kemudian Anda cukup menggunakan perintah yang biasanya Anda gunakan untuk membuka notepad inbuilt di windows. sebagai contoh

`//to open test.txt, just type
notepad test.txt
//to open sublime, Type
notepad`

2

tambahkan folder instalasi Sublime ke jalur Anda. @set PATH=C:\Program Files\Sublime Text 3;%PATH%

atau

Untuk mengatur variabel lingkungan secara permanen di Windows (sehingga tersedia untuk semua proses Windows),

start the "Control Panel" ⇒ "System" ⇒ (Vista/7/8) "Advanced system settings" ⇒ Switch to "Advanced" tab ⇒ "Environment variables" ⇒ Choose "System Variables" (for all users) or "User Variables" (for this login user only) ⇒ Choose "Edit" (for modifying an existing variable) or "New" (to create a new variable) ⇒ Enter the variable "Name" and "Value".

dalam hal ini tambahkan C: \ Program Files \ Sublime Text 3 ke path.

Sekarang, dapat membuat salinan 'sublime_text.exe' sebagai 'sublime.exe'

Kemudian dalam prompt perintah apa pun Anda dapat menjalankan file file.txt

C:\Users\MyUsername>sublime filename.txt

2
  1. Dalam variabel Lingkungan saya menambahkan %SUBLIME_HOME%variabel ke variabel jalur juga

  2. Kemudian membuat tautan simbolis dari terminal Command saya

mklink sb sublime_text.exe

2

buat di registri:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ App Paths \ sublime.exe

perbarui nilai parameter default (REG_SZ) ke:

C: \ Program Files \ Sublime Text 2 \ sublime_text.exe


1

PowerShell ini memungkinkan saya untuk pipa ke fungsi edit (atau menggunakannya dengan cara normal)

function edit
{
    param( [Parameter(ValueFromPipeline=$true,Position=0)] $file )
    begin { set-alias EDITOR 'W:\tools\sublime_text.bat' }
    process { EDITOR $file }
}

di sini adalah sublime_text.batyang untuk beberapa alasan tampaknya perlu (ada yang tahu kenapa?)

START "Sublime Text 2" "C:\Program Files\Sublime Text 2\sublime_text.exe" %*


1

Jika Anda tidak ingin mengubah jalur Anda, Anda dapat mengaitkan file dengan luhur. Jadi klik kanan pada file tersebut, klik properti, lalu klik terbuka dengan teks luhur.

Dari baris perintah: myFile.py

Akan membuka file dengan luhur. Saya kira ini menghemat sekitar lima kali penekanan tombol.


1
    @echo off
    :: File: TextFiles.Starter.DESKTOP-M175NUE.cmd v1.1.0 docs at the end 

    :: this just an iso-8601 wrapper for windows:
    :: src: http://www.cs.tut.fi/~jkorpela/iso8601.html
    call GetNiceTime.cmd

    :: go the run dir
    cd %~dp0z

    :: this is the dir containing the batch file
    set _MyDir=%CD%

    :: look around , set vars
    for %%A in (%0) do set _MyDriveLetter=%%~dA
    for %%A in (%0) do set _MyPath=%%~pA
    for %%A in (%0) do set _MyName=%%~nA
    for %%A in (%0) do set _MyEtxtension=%%~xA

    :: contains absolute file paths of the files to open like this
    set _ListFile=%_MyDir%\%_MyName%.lst
    :: example of lines in the list file - take out the ::space
    :: C:\Users\ysg\Desktop\TextFiles.Starter.DESKTOP-M175NUE.cmd
    :: C:\Users\ysg\Desktop\TextFiles.Starter.DESKTOP-M175NUE.lst


    :: set _Program="C:\Program Files\TextPad 8\TextPad.exe"
    set _Program="C:\Program Files\Sublime Text 3\sublime_text.exe"
    set _
    :: DEBUG PAUSE

    :: sleep 2
    ping -n 2 www.google.com > NUL

    :: for each line of the cat file do open 
    :: for TextPad , obs note the quoting 
    :: for /f "tokens=*" %%i in ('type "%_ListFile%"') do ^
    :: cmd /c "%_Program% "%%i""

    :: for sublime, obs note the quoting 
    for /f "tokens=*" %%i in ('type "%_ListFile%"') do ^
    cmd /c "%_Program% -t "%%i""
    :: DEBUG PAUSE

    :: Purpose: 
    :: to start a list of non-binary files from a list file on Windows 10
    :: Tested on Windows 10, should work on Win7 too
    :: 
    :: Requirements:
    :: TextPad 8 or Sublime
    :: 
    :: 
    :: Usage: 
    :: copy this file onto your Desktop, list the absolute paths in to the list file 
    :: change the program name in the _Program if if you want other editor
    :: 
    :: VersionHistory: 
    :: 1.1.0 --- 2017-10-06 09:42:54 --- ysg --- added sublime 
    :: 1.0.1 --- 2013-04-15 08:19:10 --- ysg --- added - todo-%today%.txt file opening
    :: 1.0.0 --- 2012-05-23 09:08:57 --- ysg -- Initial creation 

Halo terima kasih telah mencoba menjawab pertanyaan ini, seseorang menandai pos Anda untuk dihapus, dapatkah Anda menjelaskan secara singkat bagaimana yang purposedijelaskan dalam kode Anda memecahkan masalah OP?
James Wong - Reinstate Monica

0

pergi ke lingkungan dan menambahkan folder teks ke direktori system path, jangan menambahkan apapun ke direktori sistem 32 itu hanya membuat berantakan, setelah itu Anda dapat mengetikkan '' 'subl mytext.txt' '' dalam cmd.


1
Ini adalah solusi paling akurat untuk Windows, terima kasih!
JohnnyQ

0

Inilah yang berhasil bagi saya PowerShell:

# CHECK IF YOUR ALIAS FOR SUBLIME TEXT 3 EXISTS
Get-Alias subl

# REMOVE YOUR ALIAS FOR SUBLIME TEXT 3 IF IT EXISTS
# REF 1
Remove-Item alias:subl

# SET YOUR ALIAS FOR SUBLIME TEXT 3
Set-Alias subl -Value "C:\Program Files\Sublime Text 3\sublime_text.exe"

# CREATE A TEST FILE ON YOUR Desktop
# REF 2
echo "Testing`nNew`nFile`n." > $HOME\Desktop\TestFile.txt

# TEST YOUR NEW ALIAS
subl $HOME\Desktop\TestFile.txt

Ini adalah yang paling mudah cara untuk mengatur dan menguji para alias. Jika Anda ingin menyimpan ini terhadap profil Anda, coba ini:

# TO PERMANENTLY KEEP EVERYTIME YOU OPEN POWERSHELL PLEASE ADD TO YOUR PROFILE. BUT FIRST VERIFY YOUR PROFILE `FILE` EXISTS, IF NOT THEN THIS WILL CREATE IT.
# REF 3 & 4
if (!(Test-Path -Path $PROFILE.CurrentUserAllHosts)) {New-Item -ItemType File -Path $PROFILE.CurrentUserAllHosts -Force}

# open powershell PROFILE
ise $PROFILE.CurrentUserAllHosts

# Add the Set-Alias to your file
Set-Alias subl -Value "C:\Program Files\Sublime Text 3\sublime_text.exe"

REF 1 Remove-Alias: https://superuser.com/q/883914/247728

REF 2 Newline: https://stackoverflow.com/a/36738723/1896134

REF 3 https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-5.1

REF 4 https://devblogs.microsoft.com/scripting/understanding-the-six-powershell-profiles/

Sistem Operasi (OS): Windows 10 Pro

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.