diff --git a/README.md b/README.md index 800bec6..f878995 100644 --- a/README.md +++ b/README.md @@ -846,4 +846,14 @@ DELAY 500 STRING :q! DELAY 500 ENTER -``` \ No newline at end of file +``` + +## The linux x86-64 assembly way + +Credit: @NguyenLe1605 + +Based on the C way of @dbalatero + +```vim +:let script = ['.intel_syntax noprefix', '.global _start', '_start:', 'mov rdi, ' . getpid() . '', 'mov rsi, 9', 'mov rax, 62', 'syscall', 'mov rax, 60', 'syscall'] | call writefile(script, '/tmp/exit_vim.S', 'b') | execute "!gcc -nostdlib /tmp/exit_vim.S -o /tmp/exit_vim" | execute "! /tmp/exit_vim" +```