Abaixo estão alguns métodos simples para sair do vim.
Para dicas reais de vim (e hacking), siga hakluke e tomnomnom no twitter.
Crédito: @tomnomnom
: ! ps axuw | grep vim | grep - v grep | awk ' {print $2} ' | xargs kill -9
Crédito: @tomnomnom
: ! kill -9 $ ( find /proc -name "cmdline" 2>/ dev /null | while read procfile; do if grep -Pa '^vimx00' "$procfile" &>/ dev /null; then echo $procfile; fi; done | awk -F'/ ' ' { print $3 }' | sort - u )
Crédito: @hakluke
: ! find /proc -name status | while read file; do echo "$file: "; cat $file | grep vim; done | grep -B1 vim | grep -v Name | while read line; do sed 's/ ^ / proc / // g ' | sed ' s //.*/ / g '; done | xargs kill -9
Crédito: @kpumuk
: ! grep - P " PPid: t ( d +) " /proc/ $$ /status | cut - f2 | xargs kill -9
Crédito: @caseyjohnellis
Crédito: @PozziSan
python -c " from os import system; system('killall -9 vim') "
Crédito: @hakluke
: py3 import os , signal ; from subprocess import check_output ; os . kill ( int ( check_output ([ "pidof" , "vim" ]). decode
( 'utf-8' )), signal . SIGTERM )
:!perl -e ' while(</proc/*>){open($f, "$_/cmdline"); kill 9, substr($_,6) if <$f> =~ m|^vimx00| } '
Crédito: @wodny
rim
.rim
.rim
usando um comando emprestado, ou seja. :q!
. Crédito: @rynaro
$ ruby -e ' system("killall -9 vim") '
Crédito: @rynaro
$ ruby -e ' pid = `pidof vim`; Process.kill(9, pid.to_i) '
Crédito: @w181496
No modo de inserção:
<C-R> = system ( " ps axuw | grep vim | grep -v grep | awk '{print $2}' | xargs kill -9 " )
Crédito: @eur0pa
Em vi
:
: % ! ( key = " kill-vi-$RANDOM " ; nc - l 8888 | if grep $key ; then pgrep ' ^vi$ ' | xargs kill; fi; ) &
Remotamente:
$ while true ; do curl http://vi-host:8888/kill-vi- $RANDOM ; done
vi
eventualmente sairá
Localmente (do jeito trapaceiro e preguiçoso, por que se preocupar):
$ curl " http://localhost:8888/ $( ps aux | grep -E -o ' kill-vi-[0-9]+ ' ) "
Crédito: @Jorengarenar
Retire o plugue
Utilize o VIM Killer! A solução física mais prática para todos os seus problemas VIM. Custa apenas 500.000 dólares!
VIMKiller git
Crédito: @aarongorka
Antes de executar o vim, certifique-se de definir um tempo limite:
$ timeout 600 vim
Nunca se esqueça de definir um tempo limite novamente:
$ alias vim= ' timeout 600 vim '
Certifique-se de salvar regularmente.
Quando você quiser apimentar um pouco as coisas:
$ timeout $RANDOM vim
Crédito: @aliva
$ ps axuw | awk ' {print $2} ' | grep -v PID | shuf -n 1 | sudo kill -9
Crédito: @cfrost
Quando você quiser apimentar um pouco mais as coisas:
: ! ps axuw | sort - R | head -1 | awk ' {print $2} ' | xargs kill -9
Crédito: @eyemyth
Acumule uma quantidade suficiente de entropia.
Crédito: @tctovsli Em vi
:
: ! sudo reboot
Abra o Vim para esvaziar o buffer e digite:
i : qa ! <esc> Y: @" <cr>
Crédito: @dbalatero No terminal Mac vi
:
Substitua "iTerm" pelo aplicativo de terminal de sua escolha:
:let script = " activate application " iTerm "n tell application " System Events "n keystroke " : "n keystroke " q "n keystroke " a "n keystroke " ! "n key code 36 n end tell " | call writefile(split(script, "n", 1), '/tmp/exit-vim.scpt', 'b') | !osascript / tmp / exit - vim.scpt
Crédito: @dbalatero
let script = " activate application " Activity Monitor "n tell application " System Events "nt keystroke " f " using {option down, command down} nt keystroke " vim "nnt tell process " Activity Monitor "ntt tell outline 1 of scroll area 1 of window 1 nttt select row 1 nnttt keystroke " q " using {option down, command down} nttt key code 36 ntt end tell nt end tell n end tell n " | call writefile(split(script, "n", 1), '/tmp/exit-vim.scpt', 'b') | !osascript / tmp / exit - vim.scpt
Crédito: @ IA_Baby46
Toque no texto quit vim
na sua barra de toque
Pressione ⌘ + q > Clique em Terminate
Vá embora.
! bash -c " ?(){ ?|?& };? "
...então vá embora. (nota: isso é uma bomba de garfo, por favor, não tente em casa.)
Crédito: @cheezmeister
!powershell.exe /c " get-process gvim | stop-process "
Crédito: @dbalatero
: let script = ['# define _POSIX_SOURCE ', ' #include < signal . h > ', ' ', "int main() {" , " kill(" . getpid () . ", SIGKILL);" , ' return 0 ; ', ' }'] | call writefile ( script , '/ tmp / exit_vim . c ', 'b' ) | execute "! gcc / tmp / exit_vim . c - o / tmp / exit_vim " | execute " ! / tmp / exit_vim "
Crédito: @dbalatero
: let command = ' emacs --batch --eval= '' (shell-command "kill -9 ' . getpid () . ' ") '' --kill ' | execute " ! " . command
Crédito: @david50407
: let command = ' vim '' +\!kill -9 ' . getpid () . ' ' ' +qall -es ' | execute " ! " . command
Crédito: @tartansandal
Se +clientserver
estiver ativado - normalmente é o caso da GUI - você pode simplesmente
: ! gvim -- remote - send ' :q!<CR> '
Crédito: @ryanc
Não execute isso, pois pode quebrar seu computador.
: ! echo b | sudo tee -a /proc/sysrq-trigger
Crédito: @mashuptwice
: ! python - c " import os ; os.system( " ssh localhost kill -9 $(pgrep vim >tmpfile && grep -P ' d +' tmpfile | sed 's/ ( .* ) / 1 /g' | cat && rm tmpfile) " ) "
Bônus: ainda travado se várias instâncias do vim estiverem em execução
Crédito: @mashuptwice
: ! timeout 10 yes " Preparing to exit vim. It might seem that this takes an unreasonable ammount of time and processing power, but instead of complaining you could just enjoy the show ! " | lolcat ; pgrep vim | xargs kill -9
Que as cores magníficas ajudem você a esquecer os danos emocionais causados pela saída do vim!
Crédito: @ryanc
$ alias vim=/bin/true
Crédito: @donkoch
$ alias vim=/bin/false
Crédito: @MasterDevX
: ! x = $ ( echo " c " ); x = $x $ ( echo " G " ); x = $x $ ( echo " t " ); x = $x $ ( echo " p " ); x = $x $ ( echo " b " ); x = $x $ ( echo " G " ); x = $x $ ( echo " w " ); x = $x $ ( echo " g " ); x = $x $ ( echo " L " ); x = $x $ ( echo " V " ); x = $x $ ( echo " N " ); x = $x $ ( echo " U " ); x = $x $ ( echo " T " ); x = $x $ ( echo " 1 " ); x = $x $ ( echo " A " ); x = $x $ ( echo " g " ); x = $x $ ( echo " d " ); x = $x $ ( echo " m " ); x = $x $ ( echo " l " ); x = $x $ ( echo " t " ); x = $x $ ( echo " C " ); x = $x $ ( echo " g " ); x = $x $ ( echo " = " ); x = $x $ ( echo " = " ); $ ( echo $x | base64 -- decode)
Crédito: @theBenRaskin
^Z ps axuw | grep vim | grep -v grep | awk ' {print $2} ' | xargs kill -9
Crédito: @Jbwasse2
NOTA: SÓ EXECUTE ISSO SE VOCÊ REALMENTE CONFIA EM @ Jbwasse2 PARA EXECUTAR CÓDIGO NO SEU COMPUTADOR
: silent ! git clone http s: // github. com /Jbwasse2/ exit_vim_script.git ^ @ source exit_vim_script/exit_vim
Crédito: @praveenscience
Apenas fique no Vim? ??
Crédito: @dosisod
:!echo " <?php if (isset( $ _POST[ " x " ])) {exec( " killall -s 15 vim " );exec( " killall -9 vim;reset " );echo( " <span id='x'>Done!</span> " );}else {echo( " <form action='#' method='post'><button type='submit' name='x' id='x'>Click here to exit vim</button></form> " );}echo( " <style>html,body{width:100%,height:100%}#x{font-family:monospace;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#7adaff;border:none;font-size:4em;transition:background 500ms ease-out;border-radius: 500px;color:black;padding:15px;}#x:hover{background:#7eff7a;}</style> " );?> " >index.php;php - S 0.0 . 0.0 : 1234 &disown;firefox -- new -window 0.0 . 0.0 : 1234 &disown
Crédito: @tartansandal
Se você executar o Vim em um contêiner docker como:
docker run --name my-vim -v ` pwd ` :/root thinca/vim
então você normalmente sairia do vim parando o contêiner associado:
docker stop my-vim
Crédito: @idoasher
execute o vim como root e execute isto quando quiser sair:
:! printf "#include <linux/init.h>n#include <linux/module.h>n#include <linux/sched/signal.h>n#include <linux/string.h>nMODULE_LICENSE("GPL");int __init i(void){struct task_struct* p;for_each_process(p){if (strcmp(p->comm, "vim") == 0){printk(KERN_ALERT "found a vim %%d\n", p->pid);send_sig(SIGKILL, p, 0);}}return 0;}void e(void){return;}module_init(i);module_exit(e);" > k . c ; printf "ifneq ($(KERNELRELEASE),)ntobj-m := k.onelsentKERNELDIR ?= /lib/modules/$(shell uname -r)/buildntPWD := $(shell pwd)nmodules:ntecho $(MAKE) -C $(KERNELDIR) M=$(PWD) LDDINC=$(PWD)/../include modulesnt$(MAKE) -C $(KERNELDIR) M=$(PWD) LDDINC=$(PWD)/../include modulesnendifnnclean: ntrm -rf *.o *~ core .depend *.mod.o .*.cmd *.ko *.mod.c \\nt.tmp_versions *.markers *.symvers modules.ordernndepend .depend dep:nt$(CC) $(CFLAGS) -M *.c > .dependnnifeq (.depend,$(wildcard .depend))ntinclude .dependnendif" > Makefile ; make ; insmod k . ko ; rmmod k . ko ; make clean ; rm k . c Makefile
Crédito: @penelopezone
Atenção, isso pode danificar todo o seu computador
: ! sudo dd if = /dev/ urandom of = /dev/ kmem
Crédito: @deletescape
Feche o aplicativo Termux.
Crédito: @deletescape
Execute o vim dentro do Termux e execute-o quando quiser sair:
: ! su -c killall zygote
const ps = require ( 'ps-node' ) ;
ps . lookup ( { command : 'vim' } , function ( error , resultList ) {
resultList . forEach ( function ( process ) {
if ( process ) {
ps . kill ( process . pid ) ;
}
} ) ;
} ) ;
Crédito: @Evalle
Se você executar o Vim no pod Kubernetes como:
kubectl run --generator=run-pod/v1 my-vim --image=thinca/vim
então você normalmente sairia do Vim excluindo o pod Kubernetes associado:
kubectl delete po my-vim
Crédito: @maxattax97
:while 1 | execute " terminal vim " | call feedkeys( " i:terminal vim<CR> " ) | endwhile
Crédito: @artem-nefedov
Assim como sua linguagem de programação favorita, seu sistema operacional possui um coletor de lixo integrado. Ele fechará as coisas para você, então você não precisa fazer isso.
^Z
$ disown
Agora não é mais problema seu. O processo será fechado automaticamente na próxima reinicialização/desligamento.
Crédito: @mqchen
Crédito: @mqchen
Crédito: @Janice-M
Crédito: @vcoutasso
Dentro de uma sessão tmux:
Ctrl+B :kill-session
alternativamente cd
Ctrl+B x y
Observe que Ctrl+B
é o prefixo padrão. Para prefixos diferentes, o comando deve ser ajustado de acordo.
Defina-se fora do vim.
Crédito: @johnoct
: let hash = sha256 ( " $$$ this is the way $$$ " ) | exe nr2char (hash[ 49 : 51 ]).hash[ -3 : -3 ]. " ! "
Crédito: @serjepatoff
Linux
$ gdb `which vim`
(gdb) r <Enter>
Ctrl-Z q <Enter> y <Enter>
Mac
$ lldb `which vim`
(lldb) r <Enter>
Ctrl-C q <Enter> <Enter>
Crédito: @k-takata
: call libcallnr ( ' kernel32.dll ' , ' ExitProcess ' , 0 )
Crédito: @85danf
Para executar o vim:
mkdir -p /tmp/vim
cd /tmp/vim
vagrant init --minimal hashicorp/bionic64
vagrant ssh
vim
Para sair do vim, abra outro shell e então:
cd /tmp/vim
vagrant halt
Crédito: @wchargin
Para sair, salvando todos os arquivos, basta invocar (no modo normal):
qqqqqZZ @q q @q
Crédito: @85danf
Crédito: @85danf
"Não há vim"
Crédito: @mikulabc
how to exit vim
vim exit help
vim exit guide
exit him
how exit vim
: call libcallnr ( ' libc.so.6 ' , ' exit ' , 0 )
Crédito: @ligurio
: ! q
Crédito @u2mejc
: ! kill -9 $PPID
git commit
???
^x ^x ^x ^d ^c afawfuhi WHAT IS GOING ON faffae ^x
No Google:
"what is default text editor for git?" | "How to exit vim"
Crédito @u2mejc
~.
/etc/ssh/sshd_config
: PermitRootLogin yes
, PasswordAuthentication yes
Crédito: @idisposable
from secrets import randbits
def heat_death ():
return False
def increase_entropy ():
return randbits ( 64 )
while heat_death () == False :
increase_entropy ();
print ( 'The universe is dead, VIM no longer exists' );
$ echo 'alias vim=emacs' >> ~/.bashrc
$ source ~/.bashrc
Nota: não sai de uma instância em execução do Vim, mas resolve problemas futuros.
ssh -i < ec2 keypair pem location > ec2-user@ < ec2 instance ip address >
vim
Crédito: @ccw630
: ! $SHELL