about_PSReadLine_Functions
Deskripsi Singkat
PSReadLine memberikan pengalaman pengeditan baris perintah yang ditingkatkan di konsol PowerShell.
Deskripsi Panjang
PowerShell 7.3 dikirim dengan PSReadLine 2.2.6. Versi saat ini adalah PSReadLine 2.3.4. Versi PSReadLine saat ini dapat diinstal dan digunakan pada Windows PowerShell 5.1 dan yang lebih baru. Untuk beberapa fitur, Anda harus menjalankan PowerShell 7.2 atau yang lebih tinggi.
Artikel ini mendokuensikan fungsi yang disediakan oleh PSReadLine 2.3.4. Fungsi-fungsi ini dapat terikat pada penekanan kunci untuk akses dan pemanggilan yang mudah.
Menggunakan kelas Microsoft.PowerShell.PSConsoleReadLine
Fungsi berikut tersedia di kelas Microsoft.PowerShell.PSConsoleReadLine.
Fungsi pengeditan dasar
Batalkan
Batalkan tindakan saat ini, misalnya: pencarian riwayat inkremental.
- Mode emacs:
Ctrl+g
- Mode penyisipan vi:
Ctrl+g
- Mode perintah Vi:
<Ctrl+g>
AcceptAndGetNext
Coba jalankan input saat ini. Jika dapat dijalankan (seperti AcceptLine), maka panggil kembali item berikutnya dari riwayat saat ReadLine dipanggil berikutnya.
- Mode emacs:
Ctrl+o
AcceptLine
Coba jalankan input saat ini. Jika input saat ini tidak lengkap (misalnya ada tanda kurung penutup, tanda kurung, atau kutipan yang hilang) maka perintah kelanjutan ditampilkan pada baris berikutnya dan PSReadLine menunggu kunci untuk mengedit input saat ini.
- Mode Windows:
Enter
- Mode emacs:
Enter
- Mode penyisipan vi:
Enter
TambahkanBaris
Perintah kelanjutan ditampilkan pada baris berikutnya dan PSReadLine menunggu kunci untuk mengedit input saat ini. Ini berguna untuk memasukkan input multibaris sebagai satu perintah bahkan ketika satu baris selesai input dengan sendirinya.
- Mode Windows:
Shift+Enter
- Mode emacs:
Shift+Enter
- Mode penyisipan vi:
Shift+Enter
- Mode perintah Vi:
<Shift+Enter>
BackwardDeleteChar
Hapus karakter sebelum kursor.
- Mode Windows:
Backspace
,Ctrl+h
- Mode emacs:
Backspace
,Ctrl+Backspace
,Ctrl+h
- Mode penyisipan vi:
Backspace
- Mode perintah Vi:
<X>
,<d,h>
BackwardDeleteInput
Seperti BackwardKillInput - menghapus teks dari titik ke awal input, tetapi tidak menempatkan teks yang dihapus di kill-ring.
- Mode Windows:
Ctrl+Home
- Mode penyisipan vi:
Ctrl+u
,Ctrl+Home
- Mode perintah Vi:
<Ctrl+u>
,<Ctrl+Home>
BackwardDeleteLine
Seperti BackwardKillLine - menghapus teks dari titik ke awal baris, tetapi tidak menempatkan teks yang dihapus di kill-ring.
- Mode perintah Vi:
<d,0>
BackwardDeleteWord
Menghapus kata sebelumnya.
- Mode perintah Vi:
<Ctrl+w>
,<d,b>
BackwardKillInput
Bersihkan teks dari awal input ke kursor. Teks yang dibersihkan ditempatkan di kill-ring.
- Mode Emacs:
Ctrl+u
,Ctrl+x,Backspace
BackwardKillLine
Kosongkan teks dari awal baris logis saat ini ke kursor. Teks yang dibersihkan ditempatkan di kill-ring.
- Fungsi tidak terikat.
BackwardKillWord
Hapus input dari awal kata saat ini ke kursor. Jika kursor berada di antara kata, input dihapus dari awal kata sebelumnya ke kursor. Teks yang dibersihkan ditempatkan di kill-ring.
- Mode Windows:
Ctrl+Backspace
,Ctrl+w
- Mode Emacs:
Alt+Backspace
,Escape,Backspace
- Mode penyisipan vi:
Ctrl+Backspace
- Mode perintah Vi:
<Ctrl+Backspace>
BackwardReplaceChar
Mengganti karakter di depan kursor.
- Mode perintah Vi:
<c,h>
CancelLine
Batalkan input saat ini, biarkan input di layar, tetapi kembali ke host sehingga perintah dievaluasi lagi.
- Mode penyisipan vi:
Ctrl+c
- Mode perintah Vi:
<Ctrl+c>
CapitalizeWord
Ditambahkan dalam PSReadLine 2.3.0
Konversi karakter pertama dari kata berikutnya menjadi huruf besar dan karakter yang tersisa menjadi huruf kecil.
- Mode Emacs:
Alt+c
,Escape,c
Menyalin
Salin wilayah terpilih ke papan klip sistem. Jika tidak ada wilayah yang dipilih, salin seluruh baris.
- Mode Windows:
Ctrl+C
CopyOrCancelLine
Jika teks dipilih, salin ke clipboard, jika tidak, batalkan baris.
- Mode Windows:
Ctrl+c
- Mode emacs:
Ctrl+c
Cut
Hapus wilayah terpilih yang menempatkan teks yang dihapus di clipboard sistem.
- Mode Windows:
Ctrl+x
DeleteChar
Hapus karakter di bawah kursor.
- Mode Windows:
Delete
- Mode emacs:
Delete
- Mode penyisipan vi:
Delete
- Mode perintah Vi:
<Delete>
,<x>
,<d,l>
,<d,Spacebar>
DeleteCharOrExit
Hapus karakter di bawah kursor, atau jika baris kosong, keluar dari proses.
- Mode emacs:
Ctrl+d
DeleteEndOfBuffer
Menghapus ke akhir buffer multibaris.
- Mode perintah Vi:
<d,G>
DeleteEndOfWord
Hapus ke akhir kata.
- Mode perintah Vi:
<d,e>
DeleteLine
Menghapus baris logis buffer multibaris saat ini, memungkinkan pembatalan.
- Mode perintah Vi:
<d,d>
,<d,_>
DeleteLineToFirstChar
Menghapus dari karakter pertama yang tidak kosong dari baris logis saat ini dalam buffer multibaris.
- Mode perintah Vi:
<d,^>
DeleteNextLines
Menghapus baris logis saat ini dan berikutnya dalam buffer multibaris.
- Mode perintah Vi:
<d,j>
DeletePreviousLines
Menghapus baris logis yang diminta sebelumnya dan baris logis saat ini dalam buffer multibaris.
- Mode perintah Vi:
<d,k>
DeleteRelativeLines
Menghapus dari awal buffer ke baris logis saat ini dalam buffer multibaris.
Sebagai perintah Vi kebanyakan, <d,g,g>
perintah dapat diawali dengan argumen numerik yang menentukan nomor baris absolut, yang, bersama dengan nomor baris saat ini, membentuk rentang baris yang akan dihapus. Jika tidak ditentukan, argumen numerik default ke 1, yang mengacu pada baris logis pertama dalam buffer multibaris.
Jumlah aktual baris yang akan dihapus dari multibaris dihitung sebagai perbedaan antara nomor baris logis saat ini dan argumen numerik yang ditentukan, yang dengan demikian bisa negatif. Oleh karena itu bagian relatif dari nama metode.
- Mode perintah Vi:
<d,g,g>
DeleteToEnd
Hapus ke akhir baris.
- Mode perintah Vi:
<D>
,<d,$>
DeleteWord
Hapus kata berikutnya.
- Mode perintah Vi:
<d,w>
DowncaseWord
Ditambahkan dalam PSReadLine 2.3.0
Konversi kata berikutnya ke huruf kecil.
- Mode Emacs:
Alt+l
,Escape,l
ForwardDeleteInput
Seperti KillLine - menghapus teks dari titik ke akhir input, tetapi tidak meletakkan teks yang dihapus di kill-ring.
- Mode Windows:
Ctrl+End
- Mode penyisipan vi:
Ctrl+End
- Mode perintah Vi:
<Ctrl+End>
ForwardDeleteLine
Menghapus teks dari titik ke akhir baris logis saat ini, tetapi tidak meletakkan teks yang dihapus di kill-ring.
- Fungsi tidak terikat
SisipkanLineAbove
Baris kosong baru dibuat di atas baris saat ini terlepas dari di mana kursor berada di baris saat ini. Kursor berpindah ke awal baris baru.
- Mode Windows:
Ctrl+Enter
InsertLineBelow
Baris kosong baru dibuat di bawah baris saat ini terlepas dari di mana kursor berada di baris saat ini. Kursor berpindah ke awal baris baru.
- Mode Windows:
Shift+Ctrl+Enter
InvertCase
Alihkan kasus karakter saat ini dan pindah ke karakter berikutnya.
- Mode perintah Vi:
<~>
KillLine
Hapus input dari kursor ke akhir input. Teks yang dibersihkan ditempatkan di kill-ring.
- Mode emacs:
Ctrl+k
KillRegion
Matikan teks antara kursor dan tanda.
- Fungsi tidak terikat.
KillWord
Hapus input dari kursor ke akhir kata saat ini. Jika kursor berada di antara kata, input dibersihkan dari kursor ke akhir kata berikutnya. Teks yang dibersihkan ditempatkan di kill-ring.
- Mode Windows:
Alt+d
,Ctrl+Delete
- Mode Emacs:
Alt+d
,Escape,d
- Mode penyisipan vi:
Ctrl+Delete
- Mode perintah Vi:
<Ctrl+Delete>
Tempel
Tempelkan teks dari papan klip sistem.
- Mode Windows:
Ctrl+v
,Shift+Insert
- Mode penyisipan vi:
Ctrl+v
- Mode perintah Vi:
<Ctrl+v>
Penting
Saat menggunakan fungsi Tempel , seluruh konten buffer clipboard ditempelkan ke buffer input PSReadLine. Buffer input kemudian diteruskan ke pengurai PowerShell. Input yang ditempelkan menggunakan metode tempel klik kanan aplikasi konsol disalin ke buffer input satu karakter pada satu waktu. Buffer input diteruskan ke pengurai saat karakter baris baru disalin. Oleh karena itu, input diurai satu baris pada satu waktu. Perbedaan antara metode tempel menghasilkan perilaku eksekusi yang berbeda.
PasteAfter
Tempel clipboard setelah kursor, pindahkan kursor ke akhir teks yang ditempelkan.
- Mode perintah Vi:
<p>
TempelBefore
Tempel clipboard sebelum kursor, pindahkan kursor ke akhir teks yang ditempelkan.
- Mode perintah Vi:
<P>
PrependAndAccept
Tambahkan awalan '#' dan terima baris.
- Mode perintah Vi:
<#>
Mengulangi
Urungkan urungkan.
- Mode Windows:
Ctrl+y
- Mode penyisipan vi:
Ctrl+y
- Mode perintah Vi:
<Ctrl+y>
RepeatLastCommand
Ulangi modifikasi teks terakhir.
- Mode perintah Vi:
<.>
ReplaceChar
Ganti karakter saat ini dengan sekumpulan karakter berikutnya yang dititik.
- Mode perintah Vi:
<c,l>
,<c,Spacebar>
ReplaceCharInPlace
Ganti karakter saat ini hanya dengan satu karakter.
- Mode perintah Vi:
<r>
Kembalikan Garis
Mengembalikan semua input ke input saat ini.
- Mode Windows:
Escape
- Mode Emacs:
Alt+r
,Escape,r
ShellBackwardKillWord
Hapus input dari awal kata saat ini ke kursor. Jika kursor berada di antara kata, input dihapus dari awal kata sebelumnya ke kursor. Teks yang dibersihkan ditempatkan di kill-ring.
Fungsi tidak terikat.
ShellKillWord
Hapus input dari kursor ke akhir kata saat ini. Jika kursor berada di antara kata, input dibersihkan dari kursor ke akhir kata berikutnya. Teks yang dibersihkan ditempatkan di kill-ring.
Fungsi tidak terikat.
SwapCharacters
Tukar karakter saat ini dan karakter sebelumnya.
- Mode emacs:
Ctrl+t
- Mode penyisipan vi:
Ctrl+t
- Mode perintah Vi:
<Ctrl+t>
Undo
Urungkan pengeditan sebelumnya.
- Mode Windows:
Ctrl+z
- Mode Emacs:
Ctrl+_
,Ctrl+x,Ctrl+u
- Mode penyisipan vi:
Ctrl+z
- Mode perintah Vi:
<Ctrl+z>
,<u>
BatalkanSemua
Urungkan semua pengeditan sebelumnya untuk baris.
- Mode perintah Vi:
<U>
UnixWordRubout
Hapus input dari awal kata saat ini ke kursor. Jika kursor berada di antara kata, input dihapus dari awal kata sebelumnya ke kursor. Teks yang dibersihkan ditempatkan di kill-ring.
- Mode emacs:
Ctrl+w
UpcaseWord
Ditambahkan dalam PSReadLine 2.3.0
Mengonversi kata berikutnya menjadi huruf besar.
- Mode Emacs:
Alt+u
,Escape,u
ValidateAndAcceptLine
Coba jalankan input saat ini. Jika input saat ini tidak lengkap (misalnya ada tanda kurung penutup, tanda kurung, atau kutipan yang hilang) maka perintah kelanjutan ditampilkan pada baris berikutnya dan PSReadLine menunggu kunci untuk mengedit input saat ini.
- Mode emacs:
Ctrl+m
ViAcceptLine
Terima baris dan beralih ke mode Sisipkan.
- Mode perintah Vi:
<Enter>
ViAcceptLineOrExit
Seperti DeleteCharOrExit dalam mode Emacs, tetapi menerima baris alih-alih menghapus karakter.
- Mode penyisipan vi:
Ctrl+d
- Mode perintah Vi:
<Ctrl+d>
ViAppendLine
Baris baru disisipkan di bawah baris saat ini.
- Mode perintah Vi:
<o>
ViBackwardDeleteGlob
Menghapus kata sebelumnya, hanya menggunakan spasi kosong sebagai pemisah kata.
- Mode perintah Vi:
<d,B>
ViBackwardGlob
Memindahkan kursor kembali ke awal kata sebelumnya, hanya menggunakan spasi kosong sebagai pemisah.
- Mode perintah Vi:
<B>
ViBackwardReplaceGlob
Hapus mundur ke awal kata sebelumnya, seperti yang dibatasi oleh spasi kosong, dan masukkan mode sisipkan.
- Mode perintah Vi:
<c,B>
ViBackwardReplaceLine
Mengganti garis kiri kursor dan semua jalan ke awal.
- Mode perintah Vi:
<c,0>
ViBackwardReplaceLineToFirstChar
Mengganti garis kiri kursor dan semua kecuali satu karakter ke awal baris.
- Mode perintah Vi:
<c,^>
ViBackwardReplaceWord
Ganti kata sebelumnya.
- Mode perintah Vi:
<c,B>
ViDeleteBrace
Temukan kurung kurawal, tanda kurung siku, atau kurung siku yang cocok dan hapus semua konten di dalamnya, termasuk kurung kurawal.
- Mode perintah Vi:
<d,%>
ViDeleteEndOfGlob
Hapus ke akhir kata.
- Mode perintah Vi:
<d,E>
ViDeleteGlob
Hapus glob berikutnya (kata yang dibatasi spasi putih).
- Mode perintah Vi:
<d,W>
ViDeleteToBeforeChar
Menghapus hingga karakter yang diberikan.
- Mode perintah Vi:
<d,t>
ViDeleteToBeforeCharBackward
Menghapus hingga karakter yang diberikan.
- Mode perintah Vi:
<d,T>
ViDeleteToChar
Menghapus hingga karakter yang diberikan.
- Mode perintah Vi:
<d,f>
ViDeleteToCharBackward
Menghapus ke belakang hingga karakter yang diberikan.
- Mode perintah Vi:
<d,F>
ViInsertAtBeginning
Beralih ke mode Sisipkan dan posisikan kursor di awal baris.
- Mode perintah Vi:
<I>
ViInsertAtEnd
Beralih ke mode Sisipkan dan posisikan kursor di akhir baris.
- Mode perintah Vi:
<A>
ViInsertLine
Baris baru disisipkan di atas baris saat ini.
- Mode perintah Vi:
<O>
ViInsertWithAppend
Tambahkan dari posisi baris saat ini.
- Mode perintah Vi:
<a>
ViInsertWithDelete
Hapus karakter saat ini dan beralih ke mode Sisipkan.
- Mode perintah Vi:
<s>
ViJoinLines
Menggabungkan baris saat ini dan baris berikutnya.
- Mode perintah Vi:
<J>
ViReplaceBrace
Ganti semua karakter antara karakter kurung kurawal saat ini dan mitra yang cocok.
- Mode perintah Vi:
<c,%>
ViReplaceEndOfGlob
Hapus ke akhir kata, seperti yang dibatasi oleh spasi kosong, dan masukkan mode sisipkan.
- Mode perintah Vi:
<c,E>
ViReplaceEndOfWord
Hapus ke akhir kata, seperti yang dibatasi oleh spasi kosong dan pemisah umum, dan masukkan mode sisipkan.
- Mode perintah Vi:
<c,E>
ViReplaceGlob
Hapus ke awal kata berikutnya, seperti yang dibatasi oleh spasi kosong, dan masukkan mode sisipkan.
- Mode perintah Vi:
<c,W>
ViReplaceLine
Hapus seluruh baris perintah.
- Mode perintah Vi:
<S>
,<c,c>
ViReplaceToBeforeChar
Mengganti hingga karakter yang diberikan.
- Mode perintah Vi:
<c,t>
ViReplaceToBeforeCharBackward
Mengganti hingga karakter yang diberikan.
- Mode perintah Vi:
<c,T>
ViReplaceToChar
Menghapus hingga karakter yang diberikan.
- Mode perintah Vi:
<c,f>
ViReplaceToCharBackward
Mengganti hingga karakter yang diberikan.
- Mode perintah Vi:
<c,F>
ViReplaceToEnd
Ganti karakter dari posisi kursor ke akhir baris.
- Mode perintah Vi:
<c,$>
,<C>
ViReplaceUntilEsc
Ganti karakter saat ini hingga escape dimasukkan atau baris diterima.
- Mode perintah Vi:
<r>
ViReplaceWord
Ganti kata saat ini.
- Mode perintah Vi:
<c,W>
ViYankBeginningOfLine
Yank dari awal buffer ke kursor.
- Mode perintah Vi:
<y,0>
ViYankEndOfGlob
Yank dari kursor ke akhir WORD.
- Mode perintah Vi:
<y,E>
ViYankEndOfWord
Yank dari kursor ke akhir kata.
- Mode perintah Vi:
<y,e>
ViYankLeft
Karakter Yank di sebelah kiri kursor.
- Mode perintah Vi:
<y,h>
ViYankLine
Matikan seluruh buffer.
- Mode perintah Vi:
<y,y>
ViYankNextGlob
Yank dari kursor ke awal WORD berikutnya.
- Mode perintah Vi:
<y,W>
ViYankNextWord
Yank kata setelah kursor.
- Mode perintah Vi:
<y,w>
ViYankPercent
Yank ke/dari penjepit yang cocok.
- Mode perintah Vi:
<y,%>
ViYankPreviousGlob
Yank dari awal WORD ke kursor.
- Mode perintah Vi:
<y,B>
ViYankPreviousWord
Yank kata sebelum kursor.
- Mode perintah Vi:
<y,b>
ViYankRight
Karakter Yank di bawah dan di sebelah kanan kursor.
- Mode perintah Vi:
<y,l>
,<y,Spacebar>
ViYankToEndOfLine
Yank dari kursor ke akhir buffer.
- Mode perintah Vi:
<y,$>
ViYankToFirstChar
Yank dari karakter non-spasi pertama ke kursor.
- Mode perintah Vi:
<y,^>
Cabut
Tambahkan teks yang terakhir dimatikan ke input.
- Mode emacs:
Ctrl+y
YankLastArg
Yank argumen terakhir dari baris riwayat sebelumnya. Dengan argumen, pertama kali dipanggil, bertingkah seperti YankNthArg. Jika dipanggil beberapa kali, sebaliknya berulang melalui riwayat dan arg mengatur arah (negatif membalikkan arah.)
- Mode Windows:
Alt+.
- Mode emacs:
Alt+.
,Alt+_
,Escape,.
,Escape,_
YankNthArg
Yank argumen pertama (setelah perintah) dari baris riwayat sebelumnya. Dengan argumen, yank argumen nth (mulai dari 0), jika argumen negatif, mulai dari argumen terakhir.
- Mode Emacs:
Ctrl+Alt+y
,Escape,Ctrl+y
YankPop
Jika operasi sebelumnya adalah Yank atau YankPop, ganti teks yang sebelumnya di-yank dengan teks mati berikutnya dari kill-ring.
- Mode Emacs:
Alt+y
,Escape,y
Fungsi penyelesaian
Selesai
Coba lakukan penyelesaian pada teks yang mengelilingi kursor. Jika ada beberapa kemungkinan penyelesaian, awalan terpanjang yang tidak ambigu digunakan untuk penyelesaian. Jika mencoba menyelesaikan penyelesaian terpanjang yang tidak ambigu, daftar kemungkinan penyelesaian akan ditampilkan.
- Mode emacs:
Tab
Menu Lengkapi
Coba lakukan penyelesaian pada teks yang mengelilingi kursor. Jika ada beberapa kemungkinan penyelesaian, awalan terpanjang yang tidak ambigu digunakan untuk penyelesaian. Jika mencoba menyelesaikan penyelesaian terpanjang yang tidak ambigu, daftar kemungkinan penyelesaian akan ditampilkan.
- Mode Windows:
Ctrl+@
,Ctrl+Spacebar
- Mode emacs:
Ctrl+Spacebar
PossibleCompletions
Tampilkan daftar kemungkinan penyelesaian.
- Mode emacs:
Alt+=
- Mode penyisipan vi:
Ctrl+Spacebar
- Mode perintah Vi:
<Ctrl+Spacebar>
TabCompleteNext
Coba selesaikan teks yang mengelilingi kursor dengan penyelesaian berikutnya yang tersedia.
- Mode Windows:
Tab
- Mode perintah Vi:
<Tab>
TabCompletePrevious
Coba selesaikan teks yang mengelilingi kursor dengan penyelesaian yang tersedia sebelumnya.
- Mode Windows:
Shift+Tab
- Mode perintah Vi:
<Shift+Tab>
ViTabCompleteNext
Mengakhiri grup edit saat ini, jika diperlukan, dan memanggil TabCompleteNext.
- Mode penyisipan vi:
Tab
ViTabCompletePrevious
Mengakhiri grup edit saat ini, jika diperlukan, dan memanggil TabCompletePrevious.
- Mode penyisipan vi:
Shift+Tab
Fungsi gerakan kursor
BackwardChar
Pindahkan kursor satu karakter ke kiri. Ini dapat memindahkan kursor ke baris sebelumnya dari input multibaris.
- Mode Windows:
LeftArrow
- Mode Emacs:
LeftArrow
,Ctrl+b
Kata Mundur
Pindahkan kursor kembali ke awal kata saat ini, atau jika di antara kata, awal kata sebelumnya. Batas kata didefinisikan oleh sekumpulan karakter yang dapat dikonfigurasi.
- Mode Windows:
Ctrl+LeftArrow
- Mode Emacs:
Alt+b
,Escape,b
- Mode penyisipan vi:
Ctrl+LeftArrow
- Mode perintah Vi:
<Ctrl+LeftArrow>
Karakter yang menentukan batas kata dikonfigurasi di properti WordDelimiters objek PSConsoleReadLineOptions . Untuk menampilkan atau mengubah properti WordDelimiters , lihat Get-PSReadLineOption dan Set-PSReadLineOption.
BeginningOfLine
Jika input memiliki beberapa baris, pindahkan ke awal baris saat ini, atau jika sudah di awal baris, pindah ke awal input. Jika input memiliki satu baris, pindahkan ke awal input.
- Mode Windows:
Home
- Mode Emacs:
Home
,Ctrl+a
- Mode penyisipan vi:
Home
- Mode perintah Vi:
<Home>
EndOfLine
Jika input memiliki beberapa baris, pindahkan ke akhir baris saat ini, atau jika sudah di akhir baris, pindahkan ke akhir input. Jika input memiliki satu baris, pindahkan ke akhir input.
- Mode Windows:
End
- Mode Emacs:
End
,Ctrl+e
- Mode penyisipan vi:
End
ForwardChar
Pindahkan kursor satu karakter ke kanan. Ini dapat memindahkan kursor ke baris berikutnya dari input multibaris.
- Mode Windows:
RightArrow
- Mode Emacs:
RightArrow
,Ctrl+f
ForwardWord
Pindahkan kursor ke depan ke akhir kata saat ini, atau jika di antara kata, ke akhir kata berikutnya. Batas kata didefinisikan oleh sekumpulan karakter yang dapat dikonfigurasi.
- Mode Emacs:
Alt+f
,Escape,f
Karakter yang menentukan batas kata dikonfigurasi di properti WordDelimiters objek PSConsoleReadLineOptions . Untuk menampilkan atau mengubah properti WordDelimiters , lihat Get-PSReadLineOption dan Set-PSReadLineOption.
GotoBrace
Buka kurung kurung, tanda kurung, atau kurung siku yang cocok.
- Mode Windows:
Ctrl+]
- Mode penyisipan vi:
Ctrl+]
- Mode perintah Vi:
<Ctrl+]>
GotoColumn
Pindah ke kolom yang ditunjukkan oleh arg.
- Mode perintah Vi:
<|>
GotoFirstNonBlankOfLine
Pindahkan kursor ke karakter pertama yang tidak kosong dalam baris.
- Mode perintah Vi:
<^>
,<_>
MoveToEndOfLine
Pindahkan kursor ke akhir input.
- Mode perintah Vi:
<End>
,<$>
MoveToFirstLine
Buka baris pertama dalam perintah multibaris.
- Mode perintah Vi:
<g,g>
MoveToLastLine
Buka baris terakhir dalam perintah multibaris.
- Mode perintah Vi:
<G>
NextLine
Pindahkan kursor ke baris berikutnya.
- Fungsi tidak terikat.
NextWord
Pindahkan kursor ke depan ke awal kata berikutnya. Batas kata didefinisikan oleh sekumpulan karakter yang dapat dikonfigurasi.
- Mode Windows:
Ctrl+RightArrow
- Mode penyisipan vi:
Ctrl+RightArrow
- Mode perintah Vi:
<Ctrl+RightArrow>
Karakter yang menentukan batas kata dikonfigurasi di properti WordDelimiters objek PSConsoleReadLineOptions . Untuk menampilkan atau mengubah properti WordDelimiters , lihat Get-PSReadLineOption dan Set-PSReadLineOption.
NextWordEnd
Pindahkan kursor ke depan ke akhir kata saat ini, atau jika di antara kata, ke akhir kata berikutnya. Batas kata didefinisikan oleh sekumpulan karakter yang dapat dikonfigurasi.
- Mode perintah Vi:
<e>
Karakter yang menentukan batas kata dikonfigurasi di properti WordDelimiters objek PSConsoleReadLineOptions . Untuk menampilkan atau mengubah properti WordDelimiters , lihat Get-PSReadLineOption dan Set-PSReadLineOption.
PreviousLine
Pindahkan kursor ke baris sebelumnya.
- Fungsi tidak terikat.
ShellBackwardWord
Pindahkan kursor kembali ke awal kata saat ini, atau jika di antara kata, awal kata sebelumnya. Batas kata ditentukan oleh token PowerShell.
- Fungsi tidak terikat.
ShellForwardWord
Pindahkan kursor ke depan ke awal kata berikutnya. Batas kata ditentukan oleh token PowerShell.
- Fungsi tidak terikat.
ShellNextWord
Pindahkan kursor ke depan ke akhir kata saat ini, atau jika di antara kata, ke akhir kata berikutnya. Batas kata ditentukan oleh token PowerShell.
- Fungsi tidak terikat.
ViBackwardChar
Pindahkan kursor satu karakter ke kiri dalam mode edit Vi. Ini dapat memindahkan kursor ke baris sebelumnya dari input multibaris.
- Mode penyisipan vi:
LeftArrow
- Mode perintah Vi:
<LeftArrow>
,<Backspace>
,<h>
ViBackwardWord
Pindahkan kursor kembali ke awal kata saat ini, atau jika di antara kata, awal kata sebelumnya. Batas kata didefinisikan oleh sekumpulan karakter yang dapat dikonfigurasi.
- Mode perintah Vi:
<b>
Karakter yang menentukan batas kata dikonfigurasi di properti WordDelimiters objek PSConsoleReadLineOptions . Untuk menampilkan atau mengubah properti WordDelimiters , lihat Get-PSReadLineOption dan Set-PSReadLineOption.
ViEndOfGlob
Pindahkan kursor ke akhir kata ini, seperti yang dibatasi oleh spasi kosong.
- Mode perintah Vi:
<E>
ViEndOfPreviousGlob
Berpindah ke akhir kata sebelumnya, hanya menggunakan spasi kosong sebagai pemisah kata.
- Fungsi tidak terikat.
ViForwardChar
Pindahkan kursor satu karakter ke kanan dalam mode edit Vi. Ini dapat memindahkan kursor ke baris berikutnya dari input multibaris.
- Mode penyisipan vi:
RightArrow
- Mode perintah Vi:
<RightArrow>
,<Spacebar>
,<l>
ViGotoBrace
Mirip dengan GotoBrace, tetapi berbasis karakter alih-alih berbasis token.
- Mode perintah Vi:
<%>
ViNextGlob
Berpindah ke kata berikutnya, hanya menggunakan spasi kosong sebagai pemisah kata.
- Mode perintah Vi:
<W>
ViNextWord
Pindahkan kursor ke depan ke awal kata berikutnya. Batas kata didefinisikan oleh sekumpulan karakter yang dapat dikonfigurasi.
- Mode perintah Vi:
<w>
Karakter yang menentukan batas kata dikonfigurasi di properti WordDelimiters objek PSConsoleReadLineOptions . Untuk menampilkan atau mengubah properti WordDelimiters , lihat Get-PSReadLineOption dan Set-PSReadLineOption.
Fungsi riwayat
BeginningOfHistory
Pindah ke item pertama dalam riwayat.
- Mode emacs:
Alt+<
ClearHistory
Menghapus riwayat di PSReadLine. Ini tidak memengaruhi riwayat PowerShell.
- Mode Windows:
Alt+F7
EndOfHistory
Pindah ke item terakhir (input saat ini) dalam riwayat.
- Mode emacs:
Alt+>
ForwardSearchHistory
Lakukan pencarian penerusan inkremental melalui riwayat.
- Mode Windows:
Ctrl+s
- Mode emacs:
Ctrl+s
- Mode penyisipan vi:
Ctrl+s
- Mode perintah Vi:
<Ctrl+s>
HistorySearchBackward
Ganti input saat ini dengan item 'sebelumnya' dari riwayat PSReadLine yang cocok dengan karakter antara awal dan input dan kursor.
- Mode Windows:
F8
HistorySearchForward
Ganti input saat ini dengan item 'berikutnya' dari riwayat PSReadLine yang cocok dengan karakter antara awal dan input dan kursor.
- Mode Windows:
Shift+F8
NextHistory
Ganti input saat ini dengan item 'berikutnya' dari riwayat PSReadLine.
- Mode Windows:
DownArrow
- Mode Emacs:
DownArrow
,Ctrl+n
- Mode penyisipan vi:
DownArrow
- Mode perintah Vi:
<DownArrow>
,<j>
,<+>
PreviousHistory
Ganti input saat ini dengan item 'sebelumnya' dari riwayat PSReadLine.
- Mode Windows:
UpArrow
- Mode Emacs:
UpArrow
,Ctrl+p
- Mode penyisipan vi:
UpArrow
- Mode perintah Vi:
<UpArrow>
,<k>
,<->
ReverseSearchHistory
Lakukan pencarian mundur inkremental melalui riwayat.
- Mode Windows:
Ctrl+r
- Mode emacs:
Ctrl+r
- Mode penyisipan vi:
Ctrl+r
- Mode perintah Vi:
<Ctrl+r>
ViSearchHistoryBackward
Meminta string pencarian dan memulai pencarian pada AcceptLine.
- Mode perintah Vi:
</>
Fungsi lain
CaptureScreen
Mulai tangkapan layar interaktif - panah atas/bawah pilih baris, masukkan salinan teks yang dipilih ke clipboard sebagai teks dan HTML.
- Fungsi tidak terikat.
ClearScreen
Bersihkan layar dan gambar garis saat ini di bagian atas layar.
- Mode Windows:
Ctrl+l
- Mode emacs:
Ctrl+l
- Mode penyisipan vi:
Ctrl+l
- Mode perintah Vi:
<Ctrl+l>
DigitArgument
Mulai argumen digit baru untuk meneruskan ke fungsi lain. Anda dapat menggunakan ini sebagai pengali untuk fungsi berikutnya yang dipanggil oleh keypress. Misalnya, menekan <Alt+1>
<Alt+0>
set nilai digit-argumen ke 10. Kemudian, menekan tombol #
akan mengirim 10 #
karakter (##########
) ke baris input.
Demikian pula, Anda dapat menggunakan ini dengan operasi lain, seperti <Delete>
atau Left-Arrow
.
- Mode Windows:
Alt+0
, ,Alt+1
,Alt+2
Alt+3
,Alt+4
,Alt+5
,Alt+6
,Alt+7
,Alt+8
, ,Alt+9
,Alt+-
- Mode Emacs:
Alt+0
, ,Alt+1
,Alt+2
,Alt+3
,Alt+4
Alt+5
,Alt+6
,Alt+7
,Alt+8
, ,Alt+9
,Alt+-
- Mode perintah Vi:
<0>
, ,<1>
,<2>
<3>
,<4>
,<5>
,<6>
,<7>
, ,<8>
,<9>
InvokePrompt
Menghapus perintah saat ini dan memanggil fungsi prompt untuk memutar ulang perintah. Berguna untuk penangan kunci kustom yang mengubah status. Misalnya, ubah direktori saat ini.
- Fungsi tidak terikat.
ScrollDisplayDown
Gulir tampilan ke bawah satu layar.
- Mode Windows:
PageDown
- Mode emacs:
PageDown
ScrollDisplayDownLine
Gulir tampilan ke bawah satu baris.
- Mode Windows:
Ctrl+PageDown
- Mode emacs:
Ctrl+PageDown
ScrollDisplayToCursor
Gulir tampilan ke kursor.
- Mode emacs:
Ctrl+End
ScrollDisplayTop
Gulir tampilan ke bagian atas.
- Mode emacs:
Ctrl+Home
ScrollDisplayUp
Gulir tampilan ke atas satu layar.
- Mode Windows:
PageUp
- Mode emacs:
PageUp
ScrollDisplayUpLine
Gulir tampilan ke atas satu baris.
- Mode Windows:
Ctrl+PageUp
- Mode emacs:
Ctrl+PageUp
TampilkanCommandHelp
Menyediakan tampilan bantuan cmdlet penuh. Ketika kursor berada di akhir parameter yang diperluas sepenuhnya, menekan <F1>
posisi kunci tampilan bantuan di lokasi parameter tersebut.
Bantuan ditampilkan pada buffer layar alternatif menggunakan Pager dari Microsoft.PowerShell.Pager. Saat Anda keluar dari pager, Anda dikembalikan ke posisi kursor asli di layar asli. Pager ini hanya berfungsi di aplikasi terminal modern seperti Terminal Windows.
- Mode Windows:
F1
- Mode emacs:
F1
- Mode penyisipan vi:
F1
- Mode perintah Vi:
<F1>
TampilkanKeyBindings
Tampilkan semua kunci terikat.
- Mode Windows:
Ctrl+Alt+?
- Mode emacs:
Ctrl+Alt+?
- Mode penyisipan vi:
Ctrl+Alt+?
ShowParameterHelp
Menyediakan bantuan dinamis untuk parameter dengan menunjukkannya di bawah baris perintah saat ini seperti MenuComplete
. Kursor harus berada di akhir nama parameter yang diperluas sepenuhnya saat Anda menekan tombol <Alt+h>
.
- Mode Windows:
Alt+h
- Mode emacs:
Alt+h
- Mode penyisipan vi:
Alt+h
- Mode perintah Vi:
<Alt+h>
ViCommandMode
Alihkan mode operasi saat ini dari Vi-Insert ke Vi-Command.
- Mode penyisipan vi:
Escape
ViDigitArgumentInChord
Mulai argumen digit baru untuk meneruskan ke fungsi lain saat berada di salah satu akord vi.
- Fungsi tidak terikat.
ViEditVisually
Edit baris perintah di editor teks yang ditentukan oleh $env:EDITOR
atau $env:VISUAL
.
- Mode emacs:
Ctrl+x,Ctrl+e
- Mode perintah Vi:
<v>
ViExit
Keluar dari shell.
- Fungsi tidak terikat.
ViInsertMode
Beralih ke mode Sisipkan.
- Mode perintah Vi:
<i>
WhatIsKey
Baca kunci dan beri tahu saya apa kunci terikat.
- Mode Windows:
Alt+?
- Mode emacs:
Alt+?
Fungsi prediksi
AcceptNextSuggestionWord
Terima kata berikutnya dari saran sebaris atau yang dipilih
- Fungsi tidak terikat.
AcceptSuggestion
Saat menggunakan InlineView
sebagai gaya tampilan untuk prediksi, terima saran sebaris saat ini.
- Fungsi tidak terikat.
NextSuggestion
Saat menggunakan ListView
sebagai gaya tampilan untuk prediksi, navigasikan ke saran berikutnya dalam daftar.
- Fungsi tidak terikat.
PreviousSuggestion
Saat menggunakan ListView
sebagai gaya tampilan untuk prediksi, navigasikan ke saran sebelumnya dalam daftar.
- Fungsi tidak terikat.
ShowFullPredictionTooltip
Perlihatkan tipsalat item daftar yang saat ini dipilih dalam tampilan lengkap.
- Mode Windows:
F4
- Mode emacs:
F4
- Mode penyisipan vi:
F4
SwitchPredictionView
Alihkan gaya tampilan untuk prediksi antara InlineView
dan ListView
.
- Mode Windows:
F2
- Mode emacs:
F2
- Mode penyisipan vi:
F2
Fungsi pencarian
CharacterSearch
Baca karakter dan cari ke depan untuk kemunculan karakter tersebut berikutnya. Jika argumen ditentukan, cari maju (atau mundur jika negatif) untuk kemunculan ke-n.
- Mode Windows:
F3
- Mode emacs:
Ctrl+]
- Mode penyisipan vi:
F3
- Mode perintah Vi:
<F3>
CharacterSearchBackward
Baca karakter dan cari mundur untuk kemunculan karakter tersebut berikutnya. Jika argumen ditentukan, cari mundur (atau teruskan jika negatif) untuk kemunculan ke-n.
- Mode Windows:
Shift+F3
- Mode emacs:
Ctrl+Alt+]
- Mode penyisipan vi:
Shift+F3
- Mode perintah Vi:
<Shift+F3>
RepeatLastCharSearch
Ulangi pencarian karakter terakhir yang direkam.
- Mode perintah Vi:
<;>
RepeatLastCharSearchBackwards
Ulangi pencarian karakter terakhir yang direkam, tetapi ke arah yang berlawanan.
- Mode perintah Vi:
<,>
RepeatSearch
Ulangi pencarian terakhir ke arah yang sama seperti sebelumnya.
- Mode perintah Vi:
<n>
RepeatSearchBackward
Ulangi pencarian terakhir ke arah yang sama seperti sebelumnya.
- Mode perintah Vi:
<N>
SearchChar
Baca karakter berikutnya lalu temukan, ke depannya.
- Mode perintah Vi:
<f>
SearchCharBackward
Baca karakter berikutnya lalu temukan, mundur.
- Mode perintah Vi:
<F>
SearchCharBackwardWithBackoff
Baca karakter berikutnya lalu temukan, mundur, lalu mundur dari karakter.
- Mode perintah Vi:
<T>
SearchCharWithBackoff
Baca karakter berikutnya lalu temukan, ke depan, lalu mundur dari karakter.
- Mode perintah Vi:
<t>
SearchForward
Meminta string pencarian dan memulai pencarian pada AcceptLine.
- Mode perintah Vi:
<?>
Fungsi pilihan
ExchangePointAndMark
Kursor ditempatkan di lokasi tanda dan tanda dipindahkan ke lokasi kursor.
- Mode emacs:
Ctrl+x,Ctrl+x
PilihSemua
Pilih seluruh baris.
- Mode Windows:
Ctrl+a
PilihBackwardChar
Sesuaikan pilihan saat ini untuk menyertakan karakter sebelumnya.
- Mode Windows:
Shift+LeftArrow
- Mode emacs:
Shift+LeftArrow
SelectBackwardsLine
Sesuaikan pilihan saat ini untuk disertakan dari kursor ke awal baris.
- Mode Windows:
Shift+Home
- Mode emacs:
Shift+Home
PilihBackwardWord
Sesuaikan pilihan saat ini untuk menyertakan kata sebelumnya.
- Mode Windows:
Shift+Ctrl+LeftArrow
- Mode emacs:
Alt+B
PilihCommandArgument
Buat pemilihan visual argumen perintah. Pilihan argumen dilingkup dalam blok skrip. Berdasarkan posisi kursor, ia mencari dari blok skrip paling dalam ke blok skrip terluar, dan berhenti ketika menemukan argumen apa pun dalam cakupan blok skrip.
Fungsi ini menghormati DigitArgument. Ini memperlakukan nilai argumen positif atau negatif sebagai offset maju atau mundur dari argumen yang saat ini dipilih, atau dari posisi kursor saat ini ketika tidak ada argumen yang dipilih.
- Mode Windows:
Alt+a
- Mode emacs:
Alt+a
PilihForwardChar
Sesuaikan pilihan saat ini untuk menyertakan karakter berikutnya.
- Mode Windows:
Shift+RightArrow
- Mode emacs:
Shift+RightArrow
SelectForwardWord
Sesuaikan pilihan saat ini untuk menyertakan kata berikutnya menggunakan ForwardWord.
- Mode emacs:
Alt+F
Pilih Garis
Sesuaikan pilihan saat ini untuk disertakan dari kursor ke akhir baris.
- Mode Windows:
Shift+End
- Mode emacs:
Shift+End
PilihNextWord
Sesuaikan pilihan saat ini untuk menyertakan kata berikutnya.
- Mode Windows:
Shift+Ctrl+RightArrow
PilihShellBackwardWord
Sesuaikan pilihan saat ini untuk menyertakan kata sebelumnya menggunakan ShellBackwardWord.
- Fungsi tidak terikat.
PilihShellForwardWord
Sesuaikan pilihan saat ini untuk menyertakan kata berikutnya menggunakan ShellForwardWord.
- Fungsi tidak terikat.
PilihShellNextWord
Sesuaikan pilihan saat ini untuk menyertakan kata berikutnya menggunakan ShellNextWord.
- Fungsi tidak terikat.
SetMark
Tandai lokasi kursor saat ini untuk digunakan dalam perintah pengeditan berikutnya.
- Mode emacs:
Ctrl+@
API Dukungan Pengikatan Kunci Kustom
Fungsi berikut bersifat publik di Microsoft.PowerShell.PSConsoleReadLine, tetapi tidak dapat langsung terikat ke kunci. Sebagian besar berguna dalam pengikatan kunci kustom.
void AddToHistory(string command)
Tambahkan baris perintah ke riwayat tanpa mengeksekusinya.
void ClearKillRing()
Bersihkan cincinnya. Ini sebagian besar digunakan untuk pengujian.
void Delete(int start, int length)
Hapus karakter panjang dari awal. Operasi ini mendukung urungkan/ulangi.
void Ding()
Lakukan tindakan Ding berdasarkan preferensi pengguna.
void GetBufferState([ref] string input, [ref] int cursor)
void GetBufferState([ref] Ast ast, [ref] Token[] tokens,
[ref] ParseError[] parseErrors, [ref] int cursor)
Kedua fungsi ini mengambil informasi yang berguna tentang status buffer input saat ini. Yang pertama lebih umum digunakan untuk kasus sederhana. Yang kedua digunakan jika pengikatan Anda melakukan sesuatu yang lebih canggih dengan Ast.
IEnumerable[Microsoft.PowerShell.KeyHandler]
GetKeyHandlers(bool includeBound, bool includeUnbound)
IEnumerable[Microsoft.PowerShell.KeyHandler]
GetKeyHandlers(string[] Chord)
Kedua fungsi ini digunakan oleh Get-PSReadLineKeyHandler
. Yang pertama digunakan untuk mendapatkan semua pengikatan kunci. Yang kedua digunakan untuk mendapatkan pengikatan kunci tertentu.
Microsoft.PowerShell.PSConsoleReadLineOptions GetOptions()
Fungsi ini digunakan oleh Get-PSReadLineOption dan mungkin tidak terlalu berguna dalam pengikatan kunci kustom.
void GetSelectionState([ref] int start, [ref] int length)
Jika tidak ada pilihan pada baris perintah, fungsi mengembalikan -1 dalam awal dan panjang. Jika ada pilihan pada baris perintah, awal dan panjang pilihan dikembalikan.
void Insert(char c)
void Insert(string s)
Sisipkan karakter atau string di kursor. Operasi ini mendukung urungkan/ulangi.
string ReadLine(runspace remoteRunspace,
System.Management.Automation.EngineIntrinsics engineIntrinsics)
Ini adalah titik masuk utama ke PSReadLine. Ini tidak mendukung rekursi, jadi tidak berguna dalam pengikatan kunci kustom.
void RemoveKeyHandler(string[] key)
Fungsi ini digunakan oleh Remove-PSReadLineKeyHandler dan mungkin tidak terlalu berguna dalam pengikatan kunci kustom.
void Replace(int start, int length, string replacement)
Ganti beberapa input. Operasi ini mendukung urungkan/ulangi. Ini lebih disukai daripada Hapus diikuti oleh Sisipkan karena diperlakukan sebagai tindakan tunggal untuk membatalkan.
void SetCursorPosition(int cursor)
Pindahkan kursor ke offset yang diberikan. Gerakan kursor tidak dilacak untuk membatalkan.
void SetOptions(Microsoft.PowerShell.SetPSReadLineOption options)
Fungsi ini adalah metode pembantu yang digunakan oleh cmdlet Set-PSReadLineOption
, tetapi mungkin berguna untuk pengikatan kunci kustom yang ingin mengubah pengaturan untuk sementara waktu.
bool TryGetArgAsInt(System.Object arg, [ref] int numericArg,
int defaultNumericArg)
Metode pembantu ini digunakan untuk pengikatan kustom yang menghormati DigitArgument. Panggilan umum terlihat seperti
[int]$numericArg = 0
[Microsoft.PowerShell.PSConsoleReadLine]::TryGetArgAsInt($arg,
[ref]$numericArg, 1)
Catatan
Perilaku peristiwa OnIdle
Ketika PSReadLine digunakan, peristiwa OnIdle diaktifkan ketika
ReadKey()
waktu habis (tidak ada pengetikan dalam 300ms). Peristiwa dapat disinyalir saat pengguna berada di tengah-tengah pengeditan baris perintah, misalnya, pengguna membaca bantuan untuk memutuskan parameter mana yang akan digunakan.Dimulai di PSReadLine 2.2.0-beta4, perilaku OnIdle berubah untuk memberi sinyal peristiwa hanya jika ada
ReadKey()
batas waktu dan buffer pengeditan saat ini kosong.