Windows Powershell Vim Keybindings

Jawaban:

11

Saat ini Anda memiliki beberapa opsi. Dengan konsol default, Anda dapat menjalankan Vim di Windows (Anda mungkin sudah memilikinya jika Anda memiliki git atau alat lain yang diinstal). Untuk menjadikan integrasi ini tempat yang lebih mulus di profil PowerShell Anda:

$VIMEXEPATH    = "c:\<location>\vim.exe"

Set-Alias vim  $VIMEXEPATH
Set-Alias vi   $VIMEXEPATH

Saya juga merekomendasikan menambahkan berikut ini ke vimrcfile Anda sehingga menjalankan perintah shell dengan PowerShell itu sendiri.

set shell=powershell
set shellcmdflag=-command

Kalau tidak, satu-satunya ISE yang mendukung mode Vi sekarang adalah PSReadLine sekarang tersedia di Galeri PS

Ada catatan penggunaan tetapi secara singkat untuk mode VI Anda perlu menambahkan baris berikut ke profil ISE Anda.

Set-PSReadlineOption -EditMode vi

Perhatikan bahwa dukungan Vi telah ditambahkan di 1.2 tetapi 1.1 dikirimkan bersama Windows 10. Anda harus menggunakan parameter -force untuk memperbarui versi pengiriman (alias yang diinstal secara manual).

Lex
sumber
1
Dukungan untuk mode vi telah ditambahkan melalui PsReadline di PowerShell 5. Lihat jawaban @ string di bawah ini ...
Lucas
Apakah ada cara untuk mengubah kursor sehingga Anda dapat melihat apakah Anda berada dalam mode normal atau menyisipkan?
bradgonesurfing
Saya rasa tidak, namun beta lain untuk versi 2 dirilis minggu lalu. Jadi Anda bisa mencobanya, dan jika tidak ada di sana saya akan mencoba bertanya kepada pengelola, itu mungkin memotivasi mereka untuk mendukungnya (dan melanjutkan pengembangan secara umum)
Lex
9

Modul PSReadline menyediakan ini.

Untuk menginstal sederhana tidak yakin apa persyaratannya tapi saya pikir setidaknya windows 10 untuk metode ini disediakan. Jika Anda tidak memiliki OneGet atau tidak yakin Anda dapat mengikuti instruksi di PSReadline

Untuk menginstal PSReadline tanpa meninggikan hak istimewa

Install-Module PsReadline -Scope CurrentUser

Periksa Anda memiliki profil PowerShell

Test-Path $PROFILE

Jika Anda tidak membuatnya

New-File -Type File $PROFILE

Buka $ PROFIL di ISE

ise $PROFILE

Tambahkan baris ini

Set-PSReadlineOption -EditMode vi

Muat ulang $ PROFIL atau restart ulang PowerShell

& $PROFILE
string
sumber
1
Ini File Item-Baru-Jenis
Alex
1

Saya tidak akan bersumpah bahwa tidak ada fitur tidak berdokumen dari Powershell yang memungkinkan ini, tetapi sejauh yang saya tahu jawabannya adalah tidak. Setidaknya saya belum pernah melihat apa pun dalam dokumentasi Powershell untuk menyarankan itu mungkin.

JR

John Rennie
sumber
0

Seperti yang terjadi, Anda dapat memuat penyorotan PowerShell ke VIM. Itu yang saya gunakan untuk pengembangan skrip.

http://www.vim.org/scripts/script.php?script_id=1327

Meskipun tidak ada dalam shell itu sendiri, ini berguna untuk membuat skrip yang lebih panjang. Saya punya satu jendela di VIM, dan ada prompt PowerShell di jendela lain. Saya merasa sangat berguna .

sysadmin1138
sumber
0

Mesin powershell sekarang menawarkan kait untuk membuatnya relatif mudah, tetapi saya belum tahu siapa yang pernah melakukannya.

Proyek PSReadln memiliki mode emacs yang muncul, meskipun masih dalam masa pertumbuhan. Menambahkan mode vi di PSReadln akan menjadi hal yang jelas untuk dilakukan, tetapi saya tidak punya waktu untuk mencurahkannya.

pengguna253235
sumber