[Bantuan] Beberapa soalan tentang konfigurasi Vim Shell dalam Vim
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-16 16:36:51
0
1
649

Pautan tajuk asal: Disiarkan semula daripada Craftsmanship Community CodingStyle

Saya akhirnya memasang Vim Shell pada Vim saya sendiri, tetapi sekarang saya masih menghadapi beberapa masalah konfigurasi. Saya datang ke sini khusus untuk meminta nasihat, terima kasih terlebih dahulu!

Sila rujuk dokumen: vimshell.txt di Github

Kekunci pintasan kadangkala gagal apabila menamatkan terminal berjalan

Seperti yang dinyatakan dalam dokumentasi rujukan, <C-c> ialah kekunci pintasan untuk menamatkan skrip yang sedang berjalan ini akan mencetuskan fungsi, yang akan menghantar permintaan gangguan. Walau bagaimanapun, nampaknya kekunci pintasan ini hanya berfungsi dalam dua situasi:

  • Apabila Vim Shell sedang menunggu input pengguna, menekan <C-c> mempunyai kesan yang sama seperti Enter, dan Vim Shell akan mencipta baris baharu

  • Apabila menggunakan arahan terbina dalam masa. Contohnya, apabila menaip time python test.py,在等待的时候按下<C-c>,脚本立即结束;
    但是,在其他的情况下就没有作用了,例如在Vim Shell中输入exe python test.py的时候,或者在Vim Command中输入VimShellInteractive python test.py dalam Vim Shell, kekunci pintasan ini tidak berguna. kenapa begitu?

Cara menghantar laluan dan nama penuh teks yang sedang diedit ke Vim Shell

Masalahnya mudah, tetapi saya tidak dapat menyelesaikannya. Sekarang, saya boleh menaip VimShellInteractive python test.py dalam Perintah Vim untuk melaksanakan skrip test.py yang saya edit. Tetapi jika saya ingin melaksanakan kekunci pintasan untuk menjalankan skrip python dengan satu klik, bagaimana saya harus mengkonfigurasi vimrc? Soalan utama ialah, bagaimana saya boleh melepasi laluan penuh dan nama fail fail yang saya edit ke VimShell. Terima kasih!

Weiming 20/5/2016

曾经蜡笔没有小新
曾经蜡笔没有小新

membalas semua(1)
小葫芦

Soalan kedua:

Jawapan ada di baris 47 tetingkap di bawah


Tambahan: Anda boleh mencuba https://github.com/thinca/vim-quickrun
Ia boleh mengenal pasti jenis fail anda secara automatik dan memanggil penterjemah yang sepadan,
Premisnya bukan untuk menulis #!shebang di bawah Windows
5/22 /2016


Gambar tambahan QuickRun

Nah, saya baru mencuba, js juga boleh berjalan dengan cepat, Java boleh secara automatik javac Class.java dan kemudian java Class
Anda tidak perlu menulis nama fail sendiri, jenis fail lain juga boleh ditakrifkan sendiri

Saya menukar sedikit tetapan sendiri

    let g:quickrun_config = {}
    let g:quickrun_config._ = {
            \ 'outputter/buffer/split': ''
            \ }

    autocmd FileType quickrun resize 10
    map <Leader>q :QuickRun<CR>

24/5/2016


shebang merujuk kepada baris pertama fail skrip

    #!/bin/bash

Kandungan seperti ini, seperti tangkapan skrin pertama saya #!/usr/bin/env python, di bawah Linux shell akan memanggil program ini dan mengambil fail skrip sebagai parameter pertama. #!/usr/bin/env python,在Linux 下 shell 会调用这个程序,并将脚本文件作为第一个参数。
QuickRun 完美兼容 shebang
第一张截图那样的代码,QuickRun 会尝试运行 /usr/bin/env python /path/to/file.py
然而 Windows 没有env,也不认反斜杠路径分隔符

当然Windows 本身也不存在shebang 的概念
总之在Windows 下写脚本不需要加上#!shebang
PS: 你可以在Windows 下看看 PythonScripts 目录下的 *.py, 这些文件都有加入 #!shebangQuickRun sangat serasi dengan shebang

Untuk kod seperti tangkapan skrin pertama, QuickRun akan cuba menjalankan /usr/bin/env python /path/to/file.py

Walau bagaimanapun, Windows tidak mempunyai env dan tidak akan menerima bantahan pemisah laluan Slash

🎜Sudah tentu, tiada konsep shebang dalam Windows itu sendiri🎜Ringkasnya, tidak perlu menambah #!shebang semasa menulis skrip di bawah Windows🎜PS: Anda boleh melihat PythonScripts direktori di bawah Windows *.py, fail ini telah ditambahkan #!shebang🎜 🎜 24/5/2016🎜
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan