Как временно выйти из Vim и вернуться



Как я могу выйти из Vim, а не: q, а затем вернуться к продолжению редактирования?

703   9  
vim

9 ответов:

предполагая, что терминал vim на вкус *nix:

приостановить работу vim

Ctrl+Z

приостановит процесс и вернется к вашей оболочке

fg

возобновится (довести до fрудgраунд) ваш приостановленный vim

чтобы запустить новую оболочку

запустите подоболочку с помощью:

:sh

(как настроен с)

:set shell?

или

:!bash

затем:

Ctrl+D (или exit, но зачем печатать так много?)

убить снаряд и вернуться в vim

можно использовать :sh чтобы выйти в оболочку по умолчанию, затем введите $ exit в командной строке вернет вас в vim.

вы можете временно переключиться в режим оболочки:

:! <command>

например

:! ls

если вы находитесь в системе unix,ctrl-Z приостановит vim и даст вам оболочку. Типа fg вернуться назад. Обратите внимание, что vim создает файл подкачки во время редактирования, и приостановка vim не удалит этот файл (вы не выходите из vim в конце концов). На немых терминалах этот метод был довольно стандартным для циклов редактирования-компиляции-редактирования с использованием vi. Я только что узнал, что для меня, gvim минимизирует при вводе ctrl-Z.

вы также можете сделать это :sus попадаем в оболочку и обратно fg.

Edit: извините, его опечатка.

есть несколько способов выйти из vim и иметь все то же самое, когда вы вернетесь. В самой vim есть очень хорошая документация, объясняющая различные способы, которыми это можно сделать. Вы можете использовать следующую команду в vim для доступа к соответствующей странице справки::help usr_21

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

  1. приостановить и возобновить - вы фактически не выходите из vim с помощью это, вы просто скрыть свой сеанс в фоновом режиме, пока вам это не нужно. Если вы перезагрузите компьютер или выполните команду kill для vim, вы потеряете сеанс. Это хорошо, когда вы хотите временно переключиться на другую задачу, но если это так, то вы можете изучить использование GNU Screen utility.

  2. сеансы-это истинный способ сохранения сеанса между экземплярами vim. Даже если вы действительно покинете vim, ваша сессия будет там для вас, когда вы вернетесь. Это, вероятно, то, что вы ищете.

просто поставить fg и вернитесь к своей последней приостановленной программе

чтобы расширить ответ Дзен, Вы можете добавить следующую строку в свой ~/.vimrc для быстрого переключения между bash и vim:

noremap <C-d> :sh<cr>

Если вы используете Neovim, вы можете сделать следующее:

  • :terminal команда для вызова окна терминала.
  • делайте ваши терминальные вещи
  • тип exit чтобы убить терминальный процесс
  • нажмите любую клавишу, чтобы вернуться к nvim

Comments

    Ничего не найдено.