Как открыть несколько терминалов?

Вы можете проверить, является ли переменная числом следующим образом: $val -is [int]

Это будет работать для числовых значений, но не в том случае, если число заключено в кавычки:

1 -is [int]
True
"1" -is [int]
False
28
задан Bleeding Fingers 19 December 2013 в 13:49
поделиться

5 ответов

Вы можете открыть столько терминалов и оболочек одновременно, сколько захотите. Просто используйте M-x rename-buffer, чтобы изменить имя существующего буфера *term* или *shell*, и в следующий раз, когда вы сделаете M-x term или M-x shell, будет создан совершенно новый буфер. В случае M-x shell аргумент префикса заставит вас запросить имя нового буфера оболочки, как отметил offby1.

Несколько лет назад у меня была работа, на которой мне приходилось регулярно заходить на различные производственные серверы с именами "host01.foo.com", "host02.foo.com" и т. Д. Я написал небольшую функцию, подобную этой, чтобы упростить управление ими всеми:

(defun ssh-to-host (num)
  (interactive "P")
  (let* ((buffer-name (format "*host%02d*" num))
         (buffer (get-buffer buffer-name)))
    (if buffer
        (switch-to-buffer buffer)
      (term "/bin/bash")
      (term-send-string
       (get-buffer-process (rename-buffer buffer-name))
       (format "ssh host%02d.foo.com\r" num)))))

Затем я привязал эту команду к (скажем) sh (super H), что позволило мне просто набрать M-5 ш . Если у меня еще не было буфера с именем *host05*, он запустил бы новый буфер эмулятора терминала, переименовал его в *host05* и отправил в ssh me на host05.foo.com. Если буфер *host05* уже существует, он просто переключит меня на него. Очень удобно!

18
ответ дан 28 November 2019 в 02:37
поделиться

Я обычно делаю M - x server-start, а затем использую emacsclient --no-wait для открытия файлов. Я связал это с e с некоторыми украшениями, чтобы было немного удобнее.

Я делаю всю свою работу в одном терминале и просто «выбрасываю» файлы, которые хочу редактировать, в Emacs, используя e. Внутри Emacs я манипулирую, используя iswitchb, и он работает просто отлично. YMMV.

3
ответ дан 28 November 2019 в 02:37
поделиться

Вместо нескольких окон терминала в emacs, я создаю другой xterm всякий раз, когда мне нужен новый терминал. Это, конечно, терпимо, потому что я использую очень легкий эмулятор терминала (urxvt), который запускается менее чем за 0,2 с.
Затем я использую свой оконный менеджер для переключения между ними и фреймами emacs. Настраиваемый оконный менеджер будет иметь множество опций для эффективного переключения между окнами. В emacs я использую windmove и ido-mode и привязал к C-tab функцию, которая переключается на последний буфер (потому что я часто использую C-x b)

.

Так что, не уверен, насколько это полезно для вас, поскольку оно сильно отличается от вашего шаблона использования, но это то, что работает для меня.

2
ответ дан 28 November 2019 в 02:37
поделиться

Ecb + eshell будет именно тем, что вам нужно!

0
ответ дан 28 November 2019 в 02:37
поделиться

Полусвязанный - вы можете быстро запустить команду оболочки для выбранного файла с помощью

M-shift-!

. Это экономит много времени для небольших команд chmod и т. Д.

2
ответ дан 28 November 2019 в 02:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: