C'è un modo per accedere al terminale mentre si utilizza Vim ?
Non mi piace aprire un altro terminale o salvare ed uscire dal terminale corrente.
C'è un modo per accedere al terminale mentre si utilizza Vim ?
Non mi piace aprire un altro terminale o salvare ed uscire dal terminale corrente.
Risposte:
È possibile inviare a Vim il segnale SIGTSTP. Puoi farlo premendo ctrl+ z. Vim verrà sospeso in background e puoi usare il terminale. Digita fgil terminale per riprendere con vim.
Suggerimento bonus: funziona su quasi tutte le applicazioni terminali. Utilizzare bgper abilitare l'applicazione a continuare l'esecuzione in background.
%invece di fg. Oppure %1, %2ecc. Se hai molti lavori in background. jobsil comando li elencherà. (Supponendo bashcome il guscio.)
In vim, basta digitare:
:!sh
:!avvia un processo esterno - in questo caso sh, un'altra shell. Il controllo tornerà a VIM una volta usciti dalla shell. Se si desidera utilizzare la shell contemporaneamente a vim, aggiungere &alla fine del comando sh:
:!sh&
:shell.
http-servere stampa i registri che voglio visualizzare? Mi piacerebbe essere in grado di passare ai miei file, apportare modifiche, quindi tornare ai registri.
È possibile utilizzare il :shellcomando (o la forma abbreviata :sh). Da :help :shell:
Questo comando avvia una shell. Quando la shell esce (dopo il comando "exit") si ritorna a Vim. Il nome per il comando shell deriva dall'opzione 'shell'.
Di default, su Ubuntu, questo ti darà bash. digitare exitper tornare a VIM quando hai finito.
Dalla recente vim ora puoi fare:
:terminal
Questo è stato inizialmente aggiunto in Vim 8.0.693 , ma con molti bug. Vedi :help terminal:
WARNING: THIS IS ONLY PARTLY IMPLEMENTED, ANYTHING CAN STILL CHANGE
The terminal feature is optional, use this to check if your Vim has it:
echo has('terminal')
If the result is "1" you have it.
[...]
The terminal feature requires the +multi_byte, +job and +channel features.
==============================================================================
1. Basic use terminal-use
This feature is for running a terminal emulator in a Vim window. A job can be
started connected to the terminal emulator. For example, to run a shell:
:term bash
Or to run a debugger:
:term gdb vim
The job runs asynchronously from Vim, the window will be updated to show
output from the job, also while editing in any other window.
Come aggiunta a tutte le risposte.
Puoi installare il plugin ConqueTerm
Questo plugin offre la possibilità di eseguire programmi interattivi all'interno di buffer vim.
Dopo l'installazione puoi aggiungere queste 2 righe al tuo .vimrc:
:nnoremap <S-w> :q!<CR>
:nnoremap <S-t> :ConqueTermSplit bash<CR>
E sarai in grado di eseguire bashpremendo Shift+ Te chiudere la scheda Conque corrente premendo Shift+W
È perfetto se hai bisogno di aprire / chiudere velocemente bash.
Ecco GIF che mostra come è
Un'altra opzione con schermo o byobu è quella di aprire una scheda all'interno di tali programmi. Questi programmi rendono abbastanza facile mantenere aperta una shell cq di sessione terminale e passare da una schermata all'altra con la tastiera.
Con la nuova versione di vim 8.1 tutto ciò che devi fare è solo :terminale voilà! (questo è incorporato)