rVim kézako

Vim est un éditeur de texte qu'on pourrait traduire VI aMélioré.
rVim est sa version avec quelques restrictions : il vous sera impossible de lancer des commandes du shell, ou de suspendre Vim.

Par ici la sortie

Nous allons voir s'il est possible de sortir de rVim.
Dans ce test je n'ai pas faire de configuration spécifique de rVim.

Voir la version de rVim

 1 rvim --version
 2 VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Apr 10 2018 23:54:40)
 3 Rustines incluses : 1-160, 399, 402-403, 1099
 4 Modifié par <bugzilla@redhat.com>
 5 Compilé par <bugzilla@redhat.com>
 6 Énorme version sans interface graphique.
 7   Fonctionnalités incluses (+) ou non (-) :
 8 +acl             +farsi           +mouse_netterm   +syntax
 9 +arabic          +file_in_path    +mouse_sgr       +tag_binary
10 +autocmd         +find_in_path    -mouse_sysmouse  +tag_old_static
11 -balloon_eval    +float           +mouse_urxvt     -tag_any_white
12 -browse          +folding         +mouse_xterm     -tcl
13 ++builtin_terms  -footer          +multi_byte      +terminfo
14 +byte_offset     +fork()          +multi_lang      +termresponse
15 +cindent         +gettext         -mzscheme        +textobjects
16 -clientserver    -hangul_input    +netbeans_intg   +title
17 -clipboard       +iconv           +path_extra      -toolbar
18 +cmdline_compl   +insert_expand   +perl            +user_commands
19 +cmdline_hist    +jumplist        +persistent_undo +vertsplit
20 +cmdline_info    +keymap          +postscript      +virtualedit
21 +comments        +langmap         +printer         +visual
22 +conceal         +libcall         +profile         +visualextra
23 +cryptv          +linebreak       +python/dyn      +viminfo
24 +cscope          +lispindent      -python3         +vreplace
25 +cursorbind      +listcmds        +quickfix        +wildignore
26 +cursorshape     +localmap        +reltime         +wildmenu
27 +dialog_con      -lua             +rightleft       +windows
28 +diff            +menu            +ruby/dyn        +writebackup
29 +digraphs        +mksession       +scrollbind      -X11
30 -dnd             +modify_fname    +signs           -xfontset
31 -ebcdic          +mouse           +smartindent     -xim
32 +emacs_tags      -mouseshape      -sniff           -xsmp
33 +eval            +mouse_dec       +startuptime     -xterm_clipboard
34 +ex_extra        +mouse_gpm       +statusline      -xterm_save
35 +extra_search    -mouse_jsbterm   -sun_workshop    -xpm
36          fichier vimrc système : "/etc/vimrc"
37      fichier vimrc utilisateur : "$HOME/.vimrc"
38 --SNiP--

On voit que python et perl sont inclus dans les fonctionnalités.

1 $ rvim
2 
3 :python import pty; pty.spawn("/bin/bash")
4 $ 

1 $ rvim
2 :perl exec "/bin/bash";
3 $

Avec Perl, la gestion du shell est bizarre.