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).


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

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



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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.