/ / Стартирайте powershell скриптове в emacs - windows, powershell, vim, emacs, cmd

Стартирайте скриптове за powershell в emacs - windows, powershell, vim, emacs, cmd

Инсталирах PowerShell пакет в emacs. Аз стартирах powerhell използвайки M-x powershell. В прозореца на powerhell, аз съм в състояние да стартирате команда като LS и т.н., но аз не съм в състояние да изпълни powershell скриптове. Опитах се да използвам cmd като обвивка по подразбиране в emacs и да изпълня скрипта powershell от него, както е описано тук;

Как да стартирате PowerShell в CMD

но замръзва. По същия начин, когато се опитвам да стартирам vim в powershell / cmd в emacs, той замръзва. Искам да посоча, че скриптовете и vim работят добре в powershell и cmd, ако го изпълнявам извън emacs.

Отговори:

1 за отговор № 1

в M-x powershell и M-x shell, терминалът е "тъп" и разбира само програми печат, но не и програмите цял екран.

Така че ще работи ls, cat, и cd, но ще се провали vim, man, и less, Обзалагам се, че вашият скрипт се опитва да отвори vim, не?

Това ограничение съществува по причина: когато програмата премине на цял екран, тя улавя всички клавиатурни входове. Така че, ако отворите vim и тип C-x, изпълнява ли командата Emacs за C-x или командата Vim? Ако винаги изпълнявате командата Emacs, това означава, че когато пишете j, ще вмъкне j в буфера Emacs, вместо да превъртате надолу във Vim. Vim ще стане неизползваем. Ако винаги изпълнявате командата Vim, това означава, че вече не можете да използвате C-x C-c да излезе от Emacs, тъй като командата ще бъде погълната от Vim.

Трябва да се използва едно заобиколно решение M-x term, в term всички клавиши се изпращат към програмата, така че можете да отваряте и използвате Vim като нормално. За да стартирате команда Emacs, започнете с C-c, Можете да прочетете повече за него тук, Не съм сигурен, че съществува в Windows.

Друго решение за използване emacsclient:

;; in init.el
(server-start)

# in a shell
$ emacsclient file.txt

Това ще отвори файла в съществуващия прозорец на Emacs. Когато приключите с редактирането на файла, натиснете C-x # да се върнем към черупката.