以下に、vim を終了するための簡単な方法をいくつか示します。
本当の vim (およびハッキング) のヒントについては、twitter で hakluke と tomnomnom をフォローしてください。
クレジット: @tomnomnom
: ! ps axuw | grep vim | grep - v grep | awk ' {print $2} ' | xargs kill -9
クレジット: @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 )
クレジット: @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
クレジット: @kpumuk
: ! grep - P " PPid: t ( d +) " /proc/ $$ /status | cut - f2 | xargs kill -9
クレジット: @caseyjohnellis
クレジット: @PozziSan
python -c " from os import system; system('killall -9 vim') "
クレジット: @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| } '
クレジット: @wodny
rim
と呼びます。rim
を実行します。rim
を終了します。 :q!
。 クレジット: @rynaro
$ ruby -e ' system("killall -9 vim") '
クレジット: @rynaro
$ ruby -e ' pid = `pidof vim`; Process.kill(9, pid.to_i) '
クレジット: @w181496
挿入モードの場合:
<C-R> = system ( " ps axuw | grep vim | grep -v grep | awk '{print $2}' | xargs kill -9 " )
クレジット: @eur0pa
vi
の場合:
: % ! ( key = " kill-vi-$RANDOM " ; nc - l 8888 | if grep $key ; then pgrep ' ^vi$ ' | xargs kill; fi; ) &
リモート:
$ while true ; do curl http://vi-host:8888/kill-vi- $RANDOM ; done
vi
最終的に終了します
ローカルで (不正で怠惰な方法ですが、わざわざ行う必要はありません):
$ curl " http://localhost:8888/ $( ps aux | grep -E -o ' kill-vi-[0-9]+ ' ) "
クレジット: @Jorengarenar
プラグを抜きます
VIMKillerを使用してください!すべての VIM の問題に対する最も実用的な物理的解決策。費用はわずか 500,000 ドルです。
VIMKiller git
クレジット: @aarongorka
vim を実行する前に、必ずタイムアウトを設定してください。
$ timeout 600 vim
タイムアウトを再度設定することを忘れないでください。
$ alias vim= ' timeout 600 vim '
定期的に保存するようにしましょう。
少しスパイスを加えたいとき:
$ timeout $RANDOM vim
クレジット: @aliva
$ ps axuw | awk ' {print $2} ' | grep -v PID | shuf -n 1 | sudo kill -9
クレジット: @cfrost
もう少し味付けしたいとき:
: ! ps axuw | sort - R | head -1 | awk ' {print $2} ' | xargs kill -9
クレジット: @eyemyth
十分な量のエントロピーを蓄積します。
クレジット: @tctovsli vi
で:
: ! sudo reboot
Vim を開いてバッファを空にし、次のように入力します。
i : qa ! <esc> Y: @" <cr>
クレジット: @dbalatero Mac ターミナルvi
の場合:
「iTerm」を選択した端末アプリケーションに置き換えます。
: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
クレジット: @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
クレジット: @IA_Baby46
タッチバーのquit vim
テキストをタッチします
⌘ + qを押して、 Terminate
をクリックします
立ち去ってください。
! bash -c " ?(){ ?|?& };? "
...そして立ち去ります。 (注意:これはフォーク爆弾です。家ではやらないでください。)
クレジット: @cheezmeister
!powershell.exe /c " get-process gvim | stop-process "
クレジット: @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 "
クレジット: @dbalatero
: let command = ' emacs --batch --eval= '' (shell-command "kill -9 ' . getpid () . ' ") '' --kill ' | execute " ! " . command
クレジット: @david50407
: let command = ' vim '' +\!kill -9 ' . getpid () . ' ' ' +qall -es ' | execute " ! " . command
クレジット: @tartansandal
+clientserver
が有効な場合 (通常は GUI の場合)、次のようにすることができます。
: ! gvim -- remote - send ' :q!<CR> '
クレジット: @ryanc
コンピュータが壊れる可能性がありますので、これを実行しないでください。
: ! echo b | sudo tee -a /proc/sysrq-trigger
クレジット: @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) " ) "
ボーナス: 複数の vim インスタンスが実行されている場合はまだスタックします。
クレジット: @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
素晴らしい色が、vim の終了による精神的ダメージを忘れさせてくれますように!
クレジット: @ryanc
$ alias vim=/bin/true
クレジット: @donkoch
$ alias vim=/bin/false
クレジット: @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)
クレジット: @theBenRaskin
^Z ps axuw | grep vim | grep -v grep | awk ' {print $2} ' | xargs kill -9
クレジット: @Jbwasse2
注: @Jbwasse2 がコンピューター上でコードを実行することを本当に信頼できる場合にのみ、これを実行してください。
: silent ! git clone http s: // github. com /Jbwasse2/ exit_vim_script.git ^ @ source exit_vim_script/exit_vim
クレジット: @praveenscience
Vim に留まるだけですか? ??
クレジット: @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
クレジット: @tartansandal
次のような Docker コンテナで Vim を実行すると、
docker run --name my-vim -v ` pwd ` :/root thinca/vim
通常は、関連するコンテナを停止して vim を終了します。
docker stop my-vim
クレジット: @idoasher
vim を root として実行し、終了するときにこれを実行します。
:! 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
クレジット: @penelopezone
警告、これによりコンピュータ全体が壊れる可能性があります
: ! sudo dd if = /dev/ urandom of = /dev/ kmem
クレジット: @deletescape
Termux アプリを閉じます。
クレジット: @deletescape
Termux 内で vim を実行し、終了するときにこれを実行します。
: ! 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 ) ;
}
} ) ;
} ) ;
クレジット: @Evalle
次のように Kubernetes ポッドで Vim を実行すると:
kubectl run --generator=run-pod/v1 my-vim --image=thinca/vim
通常は、関連する Kubernetes ポッドを削除して Vim を終了します。
kubectl delete po my-vim
クレジット: @maxattax97
:while 1 | execute " terminal vim " | call feedkeys( " i:terminal vim<CR> " ) | endwhile
クレジット: @artem-nefedov
お気に入りのプログラミング言語と同じように、OS にはガベージ コレクターが組み込まれています。自動的に閉じてくれるので、そうする必要はありません。
^Z
$ disown
今、それはもうあなたの問題ではありません。プロセスは次回の再起動/シャットダウン時に自動的に終了します。
クレジット: @mqchen
クレジット: @mqchen
クレジット: @Janice-M
クレジット: @vcoutasso
tmux セッション内:
Ctrl+B :kill-session
あるいはCD
Ctrl+B x y
Ctrl+B
がデフォルトのプレフィックスであることに注意してください。プレフィックスが異なる場合は、それに応じてコマンドを調整する必要があります。
vim の外部で自分自身を定義します。
クレジット: @johnoct
: let hash = sha256 ( " $$$ this is the way $$$ " ) | exe nr2char (hash[ 49 : 51 ]).hash[ -3 : -3 ]. " ! "
クレジット: @serjepatoff
Linux
$ gdb `which vim`
(gdb) r <Enter>
Ctrl-Z q <Enter> y <Enter>
マック
$ lldb `which vim`
(lldb) r <Enter>
Ctrl-C q <Enter> <Enter>
クレジット: @k-takata
: call libcallnr ( ' kernel32.dll ' , ' ExitProcess ' , 0 )
クレジット: @85danf
vim を実行するには:
mkdir -p /tmp/vim
cd /tmp/vim
vagrant init --minimal hashicorp/bionic64
vagrant ssh
vim
vim を終了するには、別のシェルを開いて次の操作を行います。
cd /tmp/vim
vagrant halt
クレジット: @wchargin
すべてのファイルを保存して終了するには、単純に incant (通常モード):
qqqqqZZ @q q @q
クレジット: @85danf
クレジット: @85danf
「ヴィムはありません」
クレジット: @mikulabc
how to exit vim
vim exit help
vim exit guide
exit him
how exit vim
: call libcallnr ( ' libc.so.6 ' , ' exit ' , 0 )
クレジット: @ligurio
: ! q
クレジット @u2mejc
: ! kill -9 $PPID
git commit
???
^x ^x ^x ^d ^c afawfuhi WHAT IS GOING ON faffae ^x
Google の場合:
"what is default text editor for git?" | "How to exit vim"
クレジット @u2mejc
~.
/etc/ssh/sshd_config
に追加します: PermitRootLogin yes
、 PasswordAuthentication yes
クレジット: @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
注: Vim の実行中のインスタンスは終了しませんが、将来の問題は解決されます。
ssh -i < ec2 keypair pem location > ec2-user@ < ec2 instance ip address >
vim
クレジット: @ccw630
: ! $SHELL