Rumah > Soal Jawab > teks badan
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
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?
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
高洛峰2017-05-16 16:38:51
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
, 这些文件都有加入 #!shebang
QuickRun sangat serasi dengan shebang
/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🎜