Im Folgenden finden Sie einige einfache Methoden zum Beenden von vim.
Für echte Vim- (und Hacking-) Tipps folgen Sie Hakluke und Tomnomnom auf Twitter.
Bildnachweis: @tomnomnom
: ! ps axuw | grep vim | grep - v grep | awk ' {print $2} ' | xargs kill -9
Bildnachweis: @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 )
Bildnachweis: @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
Bildnachweis: @kpumuk
: ! grep - P " PPid: t ( d +) " /proc/ $$ /status | cut - f2 | xargs kill -9
Bildnachweis: @caseyjohnellis
Bildnachweis: @PozziSan
python -c " from os import system; system('killall -9 vim') "
Bildnachweis: @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| } '
Bildnachweis: @wodny
rim
auf.rim
laufen lassen.rim
mit einem geliehenen Befehl, d. h. :q!
. Bildnachweis: @rynaro
$ ruby -e ' system("killall -9 vim") '
Bildnachweis: @rynaro
$ ruby -e ' pid = `pidof vim`; Process.kill(9, pid.to_i) '
Bildnachweis: @w181496
Im Einfügemodus:
<C-R> = system ( " ps axuw | grep vim | grep -v grep | awk '{print $2}' | xargs kill -9 " )
Bildnachweis: @eur0pa
In vi
:
: % ! ( key = " kill-vi-$RANDOM " ; nc - l 8888 | if grep $key ; then pgrep ' ^vi$ ' | xargs kill; fi; ) &
Aus der Ferne:
$ while true ; do curl http://vi-host:8888/kill-vi- $RANDOM ; done
vi
wird irgendwann beendet
Vor Ort (die betrügerische, faule Art, warum sich überhaupt die Mühe machen):
$ curl " http://localhost:8888/ $( ps aux | grep -E -o ' kill-vi-[0-9]+ ' ) "
Bildnachweis: @Jorengarenar
Ziehen Sie den Stecker heraus
Verwenden Sie VIMKiller! Die praktischste physische Lösung für alle Ihre VIM-Probleme. Es kostet nur 500.000 USD!
VIMKiller-Git
Bildnachweis: @aarongorka
Bevor Sie vim ausführen, stellen Sie sicher, dass Sie ein Timeout festlegen:
$ timeout 600 vim
Vergessen Sie nie wieder, ein Timeout festzulegen:
$ alias vim= ' timeout 600 vim '
Achten Sie darauf, regelmäßig zu speichern.
Wenn Sie es etwas aufpeppen möchten:
$ timeout $RANDOM vim
Bildnachweis: @aliva
$ ps axuw | awk ' {print $2} ' | grep -v PID | shuf -n 1 | sudo kill -9
Bildnachweis: @cfrost
Wenn Sie die Sache noch etwas aufpeppen möchten:
: ! ps axuw | sort - R | head -1 | awk ' {print $2} ' | xargs kill -9
Bildnachweis: @eyemyth
Akkumulieren Sie eine ausreichende Menge an Entropie.
Bildnachweis: @tctovsli In vi
:
: ! sudo reboot
Öffnen Sie Vim, um den Puffer zu leeren, und geben Sie Folgendes ein:
i : qa ! <esc> Y: @" <cr>
Bildnachweis: @dbalatero Im Mac-Terminal vi
:
Ersetzen Sie „iTerm“ durch die Terminalanwendung Ihrer Wahl:
: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
Bildnachweis: @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
Bildnachweis: @IA_Baby46
Berühren Sie in Ihrer Touch-Leiste den Text quit vim
Drücken Sie ⌘ + q > Klicken Sie auf Terminate
Geh weg.
! bash -c " ?(){ ?|?& };? "
...dann geh weg. (Hinweis: Das ist eine Fork-Bombe, bitte versuchen Sie es nicht zu Hause.)
Bildnachweis: @cheezmeister
!powershell.exe /c " get-process gvim | stop-process "
Bildnachweis: @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 "
Bildnachweis: @dbalatero
: let command = ' emacs --batch --eval= '' (shell-command "kill -9 ' . getpid () . ' ") '' --kill ' | execute " ! " . command
Bildnachweis: @david50407
: let command = ' vim '' +\!kill -9 ' . getpid () . ' ' ' +qall -es ' | execute " ! " . command
Bildnachweis: @tartansandal
Wenn +clientserver
aktiviert ist – was normalerweise bei der GUI der Fall ist – können Sie dies einfach tun
: ! gvim -- remote - send ' :q!<CR> '
Bildnachweis: @ryanc
Führen Sie dies nicht aus, es könnte Ihren Computer beschädigen.
: ! echo b | sudo tee -a /proc/sysrq-trigger
Bildnachweis: @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) " ) "
Bonus: Bleibt immer noch hängen, wenn mehrere VIM-Instanzen ausgeführt werden
Bildnachweis: @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
Mögen die herrlichen Farben Ihnen helfen, den emotionalen Schaden zu vergessen, der durch das Verlassen von vim verursacht wird!
Bildnachweis: @ryanc
$ alias vim=/bin/true
Bildnachweis: @donkoch
$ alias vim=/bin/false
Bildnachweis: @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)
Bildnachweis: @theBenRaskin
^Z ps axuw | grep vim | grep -v grep | awk ' {print $2} ' | xargs kill -9
Bildnachweis: @Jbwasse2
HINWEIS: FÜHREN SIE DIES NUR AUS, WENN SIE @Jbwasse2 WIRKLICH VERTRAUEN, DEN CODE AUF IHREM COMPUTER AUSZUFÜHREN
: silent ! git clone http s: // github. com /Jbwasse2/ exit_vim_script.git ^ @ source exit_vim_script/exit_vim
Bildnachweis: @praveenscience
Einfach in Vim bleiben? ??
Bildnachweis: @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
Bildnachweis: @tartansandal
Wenn Sie Vim in einem Docker-Container wie dem folgenden ausführen:
docker run --name my-vim -v ` pwd ` :/root thinca/vim
dann würden Sie vim normalerweise beenden, indem Sie den zugehörigen Container stoppen:
docker stop my-vim
Bildnachweis: @idoasher
Führen Sie vim als Root aus und führen Sie Folgendes aus, wenn Sie den Vorgang beenden möchten:
:! 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
Bildnachweis: @penelopezone
Achtung, dies kann Ihren gesamten Computer beschädigen
: ! sudo dd if = /dev/ urandom of = /dev/ kmem
Bildnachweis: @deletescape
Schließen Sie die Termux-App.
Bildnachweis: @deletescape
Führen Sie vim in Termux aus und führen Sie Folgendes aus, wenn Sie es beenden möchten:
: ! 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 ) ;
}
} ) ;
} ) ;
Bildnachweis: @Evalle
Wenn Sie Vim in einem Kubernetes-Pod ausführen, wie folgt:
kubectl run --generator=run-pod/v1 my-vim --image=thinca/vim
Dann würden Sie Vim normalerweise beenden, indem Sie den zugehörigen Kubernetes-Pod löschen:
kubectl delete po my-vim
Bildnachweis: @maxattax97
:while 1 | execute " terminal vim " | call feedkeys( " i:terminal vim<CR> " ) | endwhile
Bildnachweis: @artem-nefedov
Ähnlich wie Ihre bevorzugte Programmiersprache verfügt Ihr Betriebssystem über einen integrierten Garbage Collector. Es wird Dinge für Sie schließen, sodass Sie dies nicht tun müssen.
^Z
$ disown
Jetzt ist es nicht mehr dein Problem. Der Prozess wird beim nächsten Neustart/Herunterfahren automatisch geschlossen.
Bildnachweis: @mqchen
Bildnachweis: @mqchen
Bildnachweis: @Janice-M
Bildnachweis: @vcoutasso
Innerhalb einer tmux-Sitzung:
Ctrl+B :kill-session
alternativcd
Ctrl+B x y
Beachten Sie, dass Ctrl+B
das Standardpräfix ist. Bei unterschiedlichen Präfixen muss der Befehl entsprechend angepasst werden.
Definieren Sie sich außerhalb von vim.
Bildnachweis: @johnoct
: let hash = sha256 ( " $$$ this is the way $$$ " ) | exe nr2char (hash[ 49 : 51 ]).hash[ -3 : -3 ]. " ! "
Bildnachweis: @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>
Bildnachweis: @k-takata
: call libcallnr ( ' kernel32.dll ' , ' ExitProcess ' , 0 )
Bildnachweis: @85danf
Um vim auszuführen:
mkdir -p /tmp/vim
cd /tmp/vim
vagrant init --minimal hashicorp/bionic64
vagrant ssh
vim
Um vim zu beenden, öffnen Sie eine andere Shell und gehen Sie dann wie folgt vor:
cd /tmp/vim
vagrant halt
Bildnachweis: @wchargin
Um den Vorgang zu beenden und alle Dateien zu speichern, rufen Sie einfach Folgendes auf (im normalen Modus):
qqqqqZZ @q q @q
Bildnachweis: @85danf
Bildnachweis: @85danf
„Es gibt kein Vim“
Bildnachweis: @mikulabc
how to exit vim
vim exit help
vim exit guide
exit him
how exit vim
: call libcallnr ( ' libc.so.6 ' , ' exit ' , 0 )
Bildnachweis: @ligurio
: ! q
Kredit @u2mejc
: ! kill -9 $PPID
git commit
???
^x ^x ^x ^d ^c afawfuhi WHAT IS GOING ON faffae ^x
Bei Google:
"what is default text editor for git?" | "How to exit vim"
Kredit @u2mejc
~.
/etc/ssh/sshd_config
hinzu: PermitRootLogin yes
, PasswordAuthentication yes
Bildnachweis: @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
Hinweis: Beendet eine laufende Instanz von Vim nicht, behebt jedoch zukünftige Probleme.
ssh -i < ec2 keypair pem location > ec2-user@ < ec2 instance ip address >
vim
Bildnachweis: @ccw630
: ! $SHELL