Apakah ada cara cepat (pintasan keyboard) untuk membuka terminal emulator (dalam urxvt kasus saya) di direktori yang sama dengan file di buffer emacs saat ini?
sumber
Apakah ada cara cepat (pintasan keyboard) untuk membuka terminal emulator (dalam urxvt kasus saya) di direktori yang sama dengan file di buffer emacs saat ini?
Kombinasi ini M-!
memungkinkan Anda untuk meluncurkan perintah shell. Anda dapat menggunakannya untuk meluncurkan yang terpisah urxvt
.
M-! urxvt RET
Saya baru saja mencobanya dengan xterm
(saya tidak punya urxvt
) dan itu terbuka di direktori yang sama dengan file di buffer.
Jika Anda ingin menetapkan pintasan, tambahkan sesuatu yang serupa di file init Anda:
(global-set-key (kbd "C-c s") (kbd "M-! urxvt RET"))
Dalam kasus saya, saya mengikat pintasan ke: Ctrl+ C- S.
Saya biasanya menggunakan M-x term
.
Anda juga dapat checkout:
M-x terminal
M-x shell
M-x term
secara efektif meluncurkan terminal emulator yang ditulis dalam elisp. Dari bantuan:
istilah
M-x ... RET Mulai terminal-emulator di buffer baru. (istilah PROGRAM)term adalah fungsi Lisp interaktif yang dikompilasi dalam `term.el '.
Mulai terminal-emulator di buffer baru. Buffer berada dalam mode Term; lihat `term-mode ' untuk perintah yang digunakan dalam buffer itu.
Ketik Cc b untuk beralih ke buffer lain.
M-x term
, sepertinya menyenangkan tetapi tidak persis seperti yang saya inginkan. Saya ingin memulai bukan shell (misalnyabash
atauzsh
dalam buffer emacs tetapi emulator terminal (xterm
atauurxvt
...)multi-term
Perintah emacs
M-x shell
akan memulai shell di buffer baru (atau beralih ke buffer shell yang ada, jika ada). Jika ini adalah buffer shell baru, itu akan dimulai di direktori file yang sedang dikunjungi di buffer saat ini. Jika ini merupakan buffer shell yang ada, itu masih akan berada di direktori tempat Anda meninggalkannya setelah terakhir menggunakannya. Agar selalu mendapatkan perilaku yang Anda inginkan, ingat untuk membunuh buffer shell ketika Anda selesai melakukannya (C-x k
)Jika
M-x shell
terlalu banyak mengetik, Anda dapat mengatur kunci global untuk memulai shell untuk Anda. Sesuatu seperti(global-set-key (kbd "C-x S") 'shell)
dalam file startup Anda harus melakukannya (tetapi berhati-hatilah untuk tidak menutupi perintah lain yang berguna dengan pintasan Anda!)Perlu diketahui juga bahwa ini adalah "terminal bisu" sehingga beberapa perintah seperti
git commit
opsi kebutuhan seperti-m
dan kata sandi akan ada dalam plaintext di layar Anda.sumber
Saya ingin menjalankan aplikasi terminal khusus
konsole
,. Saya ingin membuka tab baru di konsole jika sedang berjalan, atau mengaktifkannya jika tidak.Karena saya masih muda maka saya membagi implementasi antara emacs dan bash. Saya memanggil defun berikut dari emacs:
Defun panggilan bash script,
bk_konsoles.bash
:sumber
Sebagian besar waktu saya gunakan
shell-mode
. Jadi saya banyak menggunakan shell-sini . Tetapi ketika saya membutuhkan terminal eksternal. Saya menggunakan urxvt-client dengan tmux menggunakan ini:Ini akan membuka urxvt-client (dengan tmux) di direktori Anda saat ini. Saya mengikatnya di dired-mode-map.
Saya memilih urxvt-client karena cepat dan sederhana. Jangan lupa jalankan urxvt-daemon Anda saat startup.
sumber
Jika Anda telah
helm
menginstal kerangka penyelesaian, Anda dapat menggunakanhelm-run-external-command (C-x c C-c C-x)
untuk menjalankan terminal-emulator pilihan Anda atau program eksternal lainnya di direktori buffer saat ini.sumber