--Exécution en appuyant sur `
Ce contenu a été écrit en vimrc
. vimrc
est
:edit $MYVIMRC
Vous pouvez l'ouvrir avec. Si vous n'avez pas modifié les paramètres
:vnew $HOME/_vimrc
Vous pouvez également l'ouvrir ici. Vous pouvez vérifier les paramètres avec : version
.
Aide pour vimrc
: h dans vimrc`
Recommandation: Tous les fichiers de configuration de Vim doivent être placés dans le répertoire
$ HOME / .vim /
($ HOME / vimfiles /
sur MS-Windows). Cela facilite la copie du fichier de configuration sur un autre système.
Vous pouvez vérifier «$ HOME» avec «: echo $ HOME». Si vous créez «vimrc» sous «$ HOME / vimfiles», il est nommé «vimrc», mais sous «$ HOME». Si vous le mettez, il s'appellera _vimrc
.
:!python %
La commande Ex :! Hoge
exécutera cmd hoge
. Affectez-la à<F5>
.
autocmd BufRead,BufNewFile *.py inoremap <F5> <Esc>:w<CR>:! python %<CR>
autocmd BufRead,BufNewFile *.py nnoremap <F5> :w<CR>:! python %<CR>
Vous pouvez maintenant exécuter le fichier ouvert en appuyant sur «
Le résultat de l'exécution disparaît en appuyant sur ʻENTER`.
Je l'ai configuré pour ouvrir un nouveau tampon pour résoudre le problème ci-dessus, mais à moins qu'il ne soit déjà ouvert, il se multipliera chaque fois que j'appuie sur <F5>
, donc j'ai besoin de séparer les cas pour résoudre cela. Parce que c'est devenu long, j'ai créé une fonction appelée Pyexe ()
.
À ce stade, puisque le :! Hoge
utilisé précédemment est uniquement exécuté, le système (hoge)
qui obtient la sortie sous forme de chaîne de caractères est utilisé.
"Définir la fonction
function Pyexe()
"Préparation du retour après avoir entré le résultat dans le tampon de sortie
"Obtenir la position actuelle du curseur
:let pos=getpos(".")
"Obtenir l'identifiant de la fenêtre actuelle
:let cwinid=win_getid()
"Récupère le nom de fichier du tampon de fenêtre actuel
:let fileName=expand('%')
"Réglage du tampon pour la sortie
"Décidez du nom du fichier à afficher
:let outFileName="~pyOut"
"Préparation pour vérifier si la fenêtre de sortie est déjà ouverte
"Obtenez le numéro de tampon s'il existe un tampon pour la sortie.Si ça n'existe pas-1.
:let bnr=bufnr(outFileName)
"Obtenir l'ID de fenêtre du tampon pour la sortie(Format de liste).Liste vide si elle n'existe pas.
:let wids=win_findbuf(bnr)
"S'il y a un tampon pour la sortie, changez l'ID de la fenêtre en outWindid.Faire si ça n'existe pas.
if bnr == -1 || len(wids)==0
"Si ça n'existe pas
"Autoriser la fermeture du tampon de sortie en même temps lorsque le fichier python est fermé
:autocmd QuitPre <buffer> exe(':bwipeout!') g:bnr
"Divisez la fenêtre pour créer un tampon pour la sortie
:exe 'vertical rightbelow new' outFileName
"Définissez le type de tampon sur nofile car l'utilisateur n'écrit pas
:set buftype=nofile
"Réglez pour quitter en appuyant simplement sur q en mode normal.
"<buffer>L'option doit être appliquée uniquement au tampon de sortie créé cette fois..
:nmap <buffer> q <C-u>:bwipeout!<CR>
"Ajuster la taille de la fenêtre
:vertical resize 70
"Obtenez le numéro de tampon de la mémoire tampon pour la sortie
:let bnr=bufnr(outFileName)
else
"S'il y a
"Récupère l'ID de fenêtre du tampon de sortie dans la liste
:let outWinid=wids[0]
"Passer à la fenêtre du tampon de sortie
:call win_gotoid(outWinid)
endif
"production
"Aller à la fin du tampon de sortie
:call setpos(bnr,"$")
"Appelez cmd pour exécuter python
:let @r=system('python '.fileName)
"Mettre dans le tampon de sortie
:put r
"Re-représentation
:redraw!
"Revenir à la position de départ
"Aller à la fenêtre du fichier python
:call win_gotoid(cwinid)
"Déplacez le curseur sur la position de départ
:call setpos(".",pos)
endfunction
Après cela, attribuez ceci à `
"Uniquement pour les fichiers python<F5>Rendre possible l'exécution en appuyant sur une touche
autocmd BufRead,BufNewFile *.py inoremap <F5> <Esc>:w<CR>:call Pyexe()<CR>
autocmd BufRead,BufNewFile *.py nnoremap <F5> :w<CR>:call Pyexe() <CR>