Frage

Ich frage mich, ob diese gemeinsame IDE-Funktion verfügbar ist.

Angenommen, ich viele Dateien mit Vim zu öffnen, mit vsplit und split. Dann schließe ich alles.

Am nächsten Tag, ich möchte diese Dateien wiederherzustellen. Das heißt, die Art und Weise erholen sie geöffnet wurden, haben nicht jeden zu öffnen (mit split und vsplit) wieder.

Ist das möglich?

UPDATE:

Mit mksession! und source Befehlen, Mapping-Befehlen in .vimrc Datei, ist es eine Möglichkeit, Zuordnungen zu parametrisieren, um eine bestimmte Datei zu schreiben?

Beispiel:

map <F2> :mksession! ~/vim_session @INSERT_HERE<cr> "Save session to @INSERTHERE file

Vielen Dank im Voraus

War es hilfreich?

Lösung

Sie können die Karte mit: mksession und: Quelle zu einer Reihe von Tasten für die einfache Speichern und Wiederherstellen. Hier ist ein Beispiel aus meiner .vimrc, die F2 und F3 verwendet:

map <F2> :mksession! ~/vim_session <cr> " Quick write session with F2
map <F3> :source ~/vim_session <cr>     " And load session with F3

Andere Tipps

Geben Sie einen Blick auf dem :mksession Befehl, ein session :

  

Eine Session hält die Ansichten für alle   Fenster, sowie die globalen Einstellungen.   Sie können eine Session speichern und wenn Sie   wiederherstellen später das Fensterlayout   sieht genau so aus. Sie können eine Session verwenden   zu schnell zwischen unterschiedlichen   Projekte, die automatisch geladen   Dateien, die Sie wurden zuletzt in der Arbeit an   Projekt.

Sie könnten prüfen, mit GNU Screen-. Kurz gesagt: es ist ein Window Manager Befehlszeile, die ein Benutzer mehrere getrennten Terminal-Sitzungen in einer einzigen Terminal-Sitzung zugreifen kann. Der Hauptvorteil für mich ist, dass Sie die Sitzung trennen können, schließen Sie die Terminal-Fenster, und später die Sitzung anzubringen, und weiter zu arbeiten.

Der beste Ansatz, den ich gefunden habe, ist die vim-Session-Plugin zu verwenden, http: // GitHub. com / Xolox / vim-Sitzung , die durch Zugabe installiert werden kann:

Plugin 'xolox/vim-session'

Ihren .vimrc, gefolgt von:

:PluginInstall

Dieses Plugin unterstützt mehrere Sitzungen: eine Sitzung mit Namen identifizieren und sie dann mit diesem Namen verwalten. Sitzungen können hinzugefügt, gelöscht, aktualisiert aufgelistet, ...

Ich habe es für mehrere Monate jetzt mit; sehr zu empfehlen.

Sie können in diesem Buch interessiert sein:

http://www.swaroopch.com/notes/Vim#Download

Es ist eines der ersten Dinge, die sie Sie als ein Beispiel zeigen, wie groß Vim ist. ;)

Auch <cr> steht für Carriage Return.

http://www.vim.org/scripts/script. php? script_id = 2010 bietet einfache Funktionalität. Seien Sie vorsichtig mit miniBufExplorer. Es ist nicht kompatibel, wenn Sie die modifizierte Version von Andrew auf vim_use gemacht verwenden (und selbst dann ist es nur halbwegs kompatibel)

Meine Lösung ist als unten, setzen Sie sie in .vimrc Datei. HTH.

" session related.
" Default session is located `~/.session_'. The suffix `_' is a dirty
" solution, just like the one-element tuple `(tuple_eliment,)' in Python..
cnoremap <C-O> source ~/.session_
cnoremap <C-S> mksession! ~/.session_
nnoremap <silent> <C-S><C-S> :mksession! ~/.session_ <CR>

Es scheint komplizierter zu sein, aber sehr nützlich, wenn Sie mehrere Sitzungen haben zum Speichern und Laden.

P. S.
Hier übernehme ich die vertrauten <Ctrl-S> und <Ctrl-O> Verknüpfungen, zu speichern und zu laden Sitzungen. IMHO ist dies bequemer als meine Hand aus Schlüssel <Fn>. ; -)

Ich schlage vor, mit vim-Obsession . Es ist viel besser als die Standard-mksession wie es aus Ihrer während bleibt noch zu tun, was Sie wollen.

Basierend auf hgmnz Antwort und die Erweiterung für das Update.

Sie können die <cr> aus dem Mapping fallen und dies wird Ihnen in den Befehlsmodus setzen, um den Befehl zu beenden.

map <F2> :mksession! ~/<will stop here and you can type>

Wenn in der Befehlsmodus gehen Sie% drücken Sie dann Registerkarte eingeben und er wird in die aktuelle Datei der absolute Pfad erweitern, können Sie auch% geben: p: h und Tabulatortaste drücken, um die aktuelle Datei-Verzeichnis zu erweitern.

Sie können auch jede Sitzung in das Arbeitsverzeichnis speichern und von den lokalen Puffer Verzeichnisse verwenden Sie mehrere Sitzungen für Arbeitsverzeichnisse haben.

map <F2> :mksession! ./.vim_sessions <cr> " Will save session to current buffers directory.
map <F3> :source ./.vim_sessions <cr>
:lcd " Changes the current's buffer directory

Seien Sie auch vorsichtig mit Nachladen Sitzungen, da es alle aktuell geladenen Puffer nicht entladen ( http: //vimdoc.sourceforge.net/htmldoc/starting.html#%3Amksession )

  
      
  1. leert alle aktuell geladenen Puffer.
  2.   
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top