Как я мог выйти из Vim, а не :q
вернуться и продолжить редактирование?
304
Предполагая, что терминал Vim имеет вид * nix:
Ctrl + Z
приостановит процесс и вернется к вашей оболочке
fg
возобновит (довести до е руды г раунда) приостановленного Vim.
Запустите подоболочку, используя:
:sh
(как настроено)
:set shell?
:!bash
с последующим:
Ctrl+ D(или exit
, но зачем так много печатать?)
убить раковину и вернуться к Виму.
ps
для просмотра процессов переднего плана unix.stackexchange.com/questions/6115/…nodemon app.js
(nodemon обновляет сервер для редактирования файлов для вас), а затем я хочу вернуться к редактированию vim. Могу ли я сделать это без двух отдельных окон терминала?jobs
посетить процессы переднего плана с (для меня) более читаемым названием. Затем, например,fg %2
выбрать второй.control-z
действует как «отмена», проверьте ваш vimrc, чтобы увидеть,behave mswin
присутствует ли он. Если это удалить его иcontrol-z
будет работатьexit
Вы можете использовать
:sh
для выхода в свою оболочку по умолчанию, а затем набрав$ exit
в командной строке, вы вернетесь в Vim.источник
$ ps
чтобы определить, не находимся ли мы в под-оболочке vim перед вызовом,$ exit
чтобы избежать случайного закрытия терминала. Нашел это здесь (я не пробовал индикатор подсказки, упомянутый на сайте).Вы можете временно переключиться в режим оболочки:
Такие как
источник
Если вы работаете в системе Unix, Ctrl+ Zприостановит Vim и выдаст вам оболочку.
Типа,
fg
чтобы вернуться. Обратите внимание, что Vim создает файл подкачки при редактировании, и приостановка Vim не удаляет этот файл (вы не выходите из Vim в конце концов). На тупых терминалах этот метод был довольно стандартным для циклов редактирования-компиляции-редактирования с использованием vi . Я только что узнал, что для меня gVim сводит к минимуму при наборе текста Z.источник
Вы также можете сделать это,
:sus
чтобы попасть в раковину и обратноfg
.источник
Есть несколько способов выйти из Vim и сделать все то же самое, когда вы вернетесь. В самом Vim есть очень хорошая документация, объясняющая, как это можно сделать. Вы можете использовать следующую команду в vim для доступа к соответствующей странице справки:
:help usr_21
Чтобы дать вам краткое резюме, вот различные методы выхода и возврата с вашим целым сеансом:
Приостановить и возобновить - Вы фактически не выходите из Vim с этим; Вы просто скрываете свою сессию в фоновом режиме, пока она вам не понадобится. Если вы перезагрузите компьютер или введете команду kill для Vim, вы потеряете сеанс. Это хорошо для случаев, когда вы хотите временно переключиться на другую задачу, но если это так, то вы можете использовать утилиту GNU Screen .
Сессии - это верный способ сохранить ваш сеанс между экземплярами Vim. Даже если вы действительно выйдете из Vim, ваша сессия будет там для вас, когда вы вернетесь. Это, наверное, то, что вы ищете.
источник
Чтобы расширить ответ пользователя Zen , вы можете добавить следующую строку в ваш
~/.vimrc
файл, чтобы быстро переключаться между Bash и Vim:источник
Просто вставьте
fg
и вернитесь к вашей последней приостановленной программе.источник
Если вы используете Neovim , вы можете сделать следующее:
:terminal
Команда вызвать окно терминала.exit
чтобы убить процесс терминалаисточник
Если вы не возражаете против использования мыши:
Это создает новую вкладку в терминале, на которой вы можете запустить Vim. Теперь используйте вашу мышь, чтобы перейти к / от терминала. Я предпочитаю это вместо того, чтобы всегда вводить (
:shell
и выходить).источник