Heim  >  Fragen und Antworten  >  Hauptteil

Wie konfiguriere ich eine „einheitliche“ Tastenkombination zum Ausführen von „Python, Ruby und anderen gängigen Shell-Sprachen“ in Vim?

[Beschreibung]
Es gibt oft diese Anforderung: In der Linux-Befehlszeile hoffe ich, die aktuell bearbeitete Skriptdatei im Test auszuführen, ohne Vim zu verlassen (z. B. manchmal etwas zu drucken)

Ich kenne eine einzelne Sprache wie Python,<leader>r :!python %<cr>

Ich weiß, dass die Shell in Vim aufgerufen werden kann, aber wie kann man mehrere Sprachen einer Tastenkombination zuordnen (vorläufig als <Leader>r geplant)?

淡淡烟草味淡淡烟草味2712 Tage vor668

Antworte allen(4)Ich werde antworten

  • PHP中文网

    PHP中文网2017-05-16 16:39:32

    基本思路是使用autocmd根据当前缓冲的文件的类型或者语法的类型添加不同的map命令。

    例如,如果只需要编译/执行当前文件,则可以在你的vimrc文件中为每个不同的文件类型添加如下内容:

    autocmd FileType sometype nnoremap <buffer> <F5> :w<CR>:!somecompiler % <CR>

    对 python 来说,就是

    autocmd FileType python nnoremap <buffer> <F5> :w<CR>:!python % <CR>

    其中<F5>可以改成其他你想映射的键位,如<leader>r


    如果你需要跨平台,可以参考这里。

    如果你需要更高级的功能,如多文件编译、运行文件中的部分代码等,就需要自己写 VIM 脚本了。python 的可以参考这里。

    Antwort
    0
  • PHPz

    PHPz2017-05-16 16:39:32

    在vim的fplugin目录中创建文件 [语言名].vim
    然后把对应语言的配置写到这个文件中,vim就会根据文件后缀自动加载这些配置

    Antwort
    0
  • 迷茫

    迷茫2017-05-16 16:39:32

    给文件加执行权限,文件头加上
    \#!/bin/bash \#!/usr/bin/python \#!/usr/bin/ruby
    每次要运行的时候 :./ 这个文件就好了。

    Antwort
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 16:39:32

    推荐你使用
    vim-quickrun

    map <leader>r :QuickRun<CR>

    Antwort
    0
  • StornierenAntwort