Bagaimana saya bisa keluar dari Vim, tidak :q
, dan kemudian kembali untuk melanjutkan pengeditan?
303
Dengan asumsi terminal Vim dengan citarasa * nix:
Ctrl + Z
akan menunda proses dan kembali ke shell Anda
fg
akan melanjutkan (membawa ke f bijih g putaran) Vim Anda ditangguhkan.
Mulai subkulit menggunakan:
:sh
(seperti yang dikonfigurasikan oleh)
:set shell?
:!bash
diikuti oleh:
Ctrl+ D(atau exit
, tapi mengapa mengetik begitu banyak?)
untuk membunuh shell dan kembali ke Vim.
ps
untuk melihat proses latar depan unix.stackexchange.com/questions/6115/…nodemon app.js
(nodemon menyegarkan server pada pengeditan file untuk Anda) dan kemudian saya ingin kembali ke pengeditan vim saya. Bisakah saya melakukannya tanpa dua jendela terminal yang terpisah?jobs
untuk mengunjungi proses latar depan dengan judul (untuk saya) yang lebih mudah dibaca. Lalu misalnyafg %2
untuk memilih yang kedua.control-z
bertindak sebagai 'undo' periksa vimrc Anda untuk melihat apakahbehave mswin
ada. Jika dihapus dancontrol-z
akan bekerjaexit
Anda dapat menggunakan
:sh
untuk keluar ke shell default Anda kemudian mengetik$ exit
di prompt shell akan mengembalikan Anda ke Vim.sumber
$ ps
untuk mengetahui apakah kita berada dalam sub-shell vim sebelum menelepon$ exit
untuk menghindari penutupan terminal secara tidak sengaja. Menemukan ini di sini (saya belum mencoba indikator cepat yang disebutkan di situs web).Anda dapat beralih ke mode shell untuk sementara dengan:
seperti
sumber
Jika Anda menggunakan sistem Unix, Ctrl+ Zakan menangguhkan Vim dan memberi Anda shell.
Ketik
fg
untuk kembali. Perhatikan bahwa Vim membuat file swap saat mengedit, dan menangguhkan Vim tidak akan menghapus file itu (Anda tidak keluar dari Vim setelah semua). Pada terminal bisu, metode ini cukup standar untuk siklus edit-kompilasi-edit menggunakan vi . Saya baru tahu bahwa bagi saya, gVim meminimalkan pengetikan Z.sumber
Anda juga dapat melakukannya dengan
:sus
jatuh ke shell dan kembali olehfg
.sumber
Ada beberapa cara untuk keluar dari Vim dan memiliki semuanya tetap sama saat Anda kembali. Ada dokumentasi yang sangat bagus di dalam Vim sendiri yang menjelaskan berbagai cara yang bisa dilakukan. Anda dapat menggunakan perintah berikut dalam vim untuk mengakses halaman bantuan yang relevan:
:help usr_21
Untuk memberikan ringkasan singkat kepada Anda, berikut adalah berbagai metode untuk berhenti dan kembali dengan sesi Anda yang utuh:
Tangguhkan dan lanjutkan - Anda tidak benar-benar keluar dari Vim dengan ini; Anda cukup menyembunyikan sesi Anda di latar belakang sampai Anda membutuhkannya. Jika Anda mereset komputer Anda atau mengeluarkan perintah kill ke Vim, Anda akan kehilangan sesi Anda. Ini bagus untuk ketika Anda ingin beralih ke tugas lain sementara, tetapi jika ini masalahnya, maka Anda mungkin ingin melihat ke dalam menggunakan utilitas Layar GNU sebagai gantinya.
Sesi - Ini adalah cara sebenarnya untuk menyimpan sesi Anda di antara instance Vim. Bahkan jika Anda benar-benar keluar dari Vim, sesi Anda akan ada untuk Anda ketika Anda kembali. Ini mungkin yang Anda cari.
sumber
Untuk memperluas jawaban pengguna Zen , Anda bisa menambahkan baris berikut di
~/.vimrc
file Anda untuk memungkinkan beralih cepat antara Bash dan Vim:sumber
Cukup masukkan
fg
dan kembali ke program Anda yang terakhir ditangguhkan.sumber
Jika Anda menggunakan Neovim , Anda dapat melakukan hal berikut:
:terminal
perintah untuk membuka jendela terminal.exit
untuk mematikan proses terminalsumber
Jika Anda tidak keberatan menggunakan mouse Anda sedikit:
Ini menciptakan tab baru pada terminal tempat Anda dapat menjalankan Vim. Sekarang gunakan mouse Anda untuk beralih ke / dari terminal. Saya lebih suka ini daripada selalu harus mengetik (
:shell
dan keluar).sumber