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

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

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

$ rvim

:python import pty; pty.spawn("/bin/bash")
$ 
$ rvim
:perl exec "/bin/bash";
$

Avec Perl, la gestion du shell est bizarre.