Làm cách nào để chạy 'emacs' trong trình giả lập thiết bị đầu cuối mà không có cửa sổ riêng?


16

Tôi đang tìm cách chuyển sang Emacs từ Vim và một điều khiến tôi tránh xa là Emacs mở một cửa sổ riêng khi chạy dưới X. Tôi có thể có hành vi tương tự với Emacs như khi chạy dưới X không? Đó là, tôi muốn Emacs bắt đầu phiên trong cùng một thiết bị đầu cuối với phiên bị bắn.

Hãy cho tôi biết nếu câu hỏi không rõ ràng. Cảm ơn trước!

Câu trả lời:


34

Tôi không phải là chuyên gia về emacs, nhưng điều này đã giúp tôi rất nhiều:

emacs -nw

7
Bạn nói đúng, đối với người tò mò -nw là viết tắt của --no-window-system, thông báo cho các emacs không sử dụng giao diện X của nó.

@Mic: Cảm ơn bạn đã giải thích, theo cách này tôi sẽ nhớ những gì nó đại diện cho
Alberto Zaccagni

16

Bạn có thể thích bắt đầu emacs emacs --daemonvà sau đó sử dụng emacsclient -tđể chỉnh sửa tệp. Điều này giữ cho Emacs được tải trong nền, để bạn có thể sử dụng Emacs giống như vi. Các phiên chỉnh sửa sẽ bắt đầu ngay lập tức và "thoát" qua Cx Cc sẽ chỉ đóng kết nối hiện tại. Nó rất đẹp


5

Mặc dù câu hỏi của bạn đã được trả lời, tôi sẽ mạo hiểm nói rằng đây không phải là cách mà bất kỳ người dùng thông thường nào sẽ sử dụng emacs. Không giống như vim, emacs thường có thời gian khởi động lâu hơn và dù sao cũng có xu hướng chạy mọi lúc với nhiều bộ đệm mở. Vì vậy, khi bạn muốn làm một cái gì đó với emacs trong một thiết bị đầu cuối, bạn gọi emacsclient -nw(giả sử một máy chủ emacs đã được bắt đầu). Xem Cách bắt đầu sử dụng EmacsClient để biết chi tiết.


2

Nếu bạn sử dụng bash, bạn luôn có thể thêm phần sau vào .bashrc của mình

bí danh emacs = "emacs -nw"

Điều đó đã giúp tôi tiết kiệm rất nhiều việc đánh máy (và chửi bới khi tôi quên gõ công tắc).


1

Kết hợp các câu trả lời trên của Dick Kenny và Alberto Zaccagni, bạn sẽ có được cấu hình sau đây mà tôi sử dụng .bashrc:

alias emacs='emacsclient -nw -c -a ""'

Điều này sẽ cố gắng kết nối với một daemon emacs runnning. Nếu không có gì đang chạy, nó sẽ khởi động một cái mới, và sau đó kết nối bằng cửa sổ terminal hiện tại.

Từ các tài liệu:

-a EDITOR, --alternate-editor=EDITOR
        Editor to fallback to if the server is not running
        If EDITOR is the empty string, start Emacs in daemon
        mode and try connecting again

-nw, -t, --tty      Open a new Emacs frame on the current terminal

-c, --create-frame  Create a new frame instead of trying to 
                    use the current Emacs frame

1
Khi tôi thử lệnh này, Emacs không khởi động được, thay vào đó tôi đưa ra cảnh báo về việc không có máy chủ để kết nối, theo sau là một đống giá trị khổng lồ và Emacs không khởi động.
Koz Ross
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.