Jak wywołać edytor tekstu z terminala?

W wierszu polecenia systemu Windows mogę wpisać notepad helloworld.cpp, który następnie utworzy .cpp plik o nazwie helloworld i otwórz dla mnie Notatnik.

Czy istnieje podobna funkcja dla terminala Mac, najlepiej z Textmate lub Textedit?

Używam Mac OS X Lion 10.7, z Xcode developers tool.

Author: Vito Gentile, 2012-02-24

7 answers

Jest wiele sposobów. Try:

  1. vi <filename you want to save or open.cpp>,
  2. pico,
  3. Open /Applications/TextEdit.app <filename>.
 41
Author: pyCthon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-12 05:23:31
open -e <filename>

Opcja -e służy do otwierania pliku <filename> za pomocą programu TextEdit.

 61
Author: Vito Gentile,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-13 22:29:09

Po prostu użyj open <filename> polecenia opisanego w tym artykule . Otworzy aplikację powiązaną z typem pliku.

Użyj open -e, aby otworzyć /Applications / TextEdit

 12
Author: ejboy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-23 18:19:54

O niektórych poprzednich sugestiach tutaj - możesz użyć polecenia open w połączeniu z flagą a, aby otworzyć plik z określoną aplikacją:

open -a [appname] [filename]

Ale jeśli [filename] nie istnieje, wyświetla błąd the file doesn't exists lub coś w tym stylu i nie tworzy wymaganego pliku, o co prosiłeś.

Zapisz do pliku ~/.bashrc (Jeśli ten plik nie istnieje, możesz go utworzyć zapisując touch ~/.bashrc wewnątrz terminala):

open2()
{
  touch $2
  open -a $1 $2
}

I używać go jak to:

open2 [appname] [filename]

Zauważ, że appname jest aplikacją w folderze zainstalowanej aplikacji (/Applications).

Polecenie touch tworzy wymagany plik (nie martw się, jeśli plik istnieje, nie usunie / zresetuje bieżącego pliku, tylko zmieni czas modyfikacji na bieżący).

 5
Author: Roy Miloh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-21 22:12:07

Jeśli używasz text mate, możesz skonfigurować go do pracy z terminalem

ln -s /Applications/TextMate.app/Contents/Resources/mate ~/bin/mate

Wzięte z

Http://manual.macromates.com/en/using_textmate_from_terminal.html

Gdy już masz mate na swojej ścieżce, możesz wpisać następujący tekst w terminalu

mate helloworld.cpp

Jeśli chcesz, aby text mate wyświetlał wszystkie pliki w folderze jako szufladę projektu

mate .
 3
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-11 22:14:32

Problem z:

open -e

Lub

open -a TextEdit

Jest to, że nie masz kontroli nad TextEdit.tryby aplikacji: zwykły tekst lub RichText.

Np. jeśli spróbujesz otworzyć plik HTML, TextEdit otworzy go w trybie tekstowym, a nie w trybie zwykłego tekstu, zgodnie z oczekiwaniami. Następnie przejście do trybu zwykłego tekstu nie pokaże znaczników HTML.
Nie mogłem znaleźć polecenia terminala, aby aktywować opcję Open:

Ignore rich text commands

Lub ustawienie preferencji:

Display HTML files as HTML code instead of formatted text

As far as I can widzisz, nawet osascript nie rozwiąże sprawy.

To niefortunne od czasu TextEdit.aplikacja jest jedynym edytorem tekstu, który jest obecny na pewno. Nie wszyscy użytkownicy komputerów Mac mają zainstalowany edytor BBedit, TextMate lub inny edytor stron trzecich, a jeszcze mniej użytkowników zdefiniowało "edytor domyślny".

 2
Author: linus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-30 19:18:46

Przejdź do Preferences ( ⌘ + ,) & install Shell support. Jak tutaj

Wtedy można otworzyć dowolne pliki z terminala za pomocą:

open file.txt

Lub

mate file.txt
 0
Author: Searge,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-21 04:47:33