diff options
Diffstat (limited to 'runtime/doc/os_dos.txt')
-rw-r--r-- | runtime/doc/os_dos.txt | 64 |
1 files changed, 52 insertions, 12 deletions
diff --git a/runtime/doc/os_dos.txt b/runtime/doc/os_dos.txt index b45cb088cb..b473134ce1 100644 --- a/runtime/doc/os_dos.txt +++ b/runtime/doc/os_dos.txt @@ -304,40 +304,80 @@ Vim sets the 'shellcmdflag' and 'shellquote' or 'shellxquote' options will be set as described above. ============================================================================== -10. PowerShell *dos-powershell* +10. PowerShell *dos-powershell* *dos-pwsh* -Vim also supports Windows PowerShell. If 'shell' has been set to -"powershell.exe" at startup then VIM sets 'shellcmdflag', 'shellxquote', -'shellpipe', and 'shellredir' options to the following values: +Vim supports PowerShell Desktop and PowerShell Core. PowerShell Desktop is +the version of PowerShell that is installed with Windows, while PowerShell +Core is a separate downloadable version that works cross-platform. To see +which version you are using then enter the following in a PowerShell prompt - +$PSVersionTable.PSEdition + +If 'shell' includes "powershell" in the filename at startup then VIM sets +'shellcmdflag', 'shellxquote', 'shellpipe', and 'shellredir' options to the +following values: 'shellcmdflag' -Command 'shellxquote' " 'shellpipe' 2>&1 | Out-File -Encoding default 'shellredir' 2>&1 | Out-File -Encoding default +If 'shell' includes "pwsh" in the filename at startup then VIM sets +'shellcmdflag', 'shellxquote', 'shellpipe', and 'shellredir' options to the +following values: + +'shellcmdflag' -c +'shellxquote' " +'shellpipe' >%s 2>&1 +'shellredir' >%s 2>&1 + If you find that PowerShell commands are taking a long time to run then try -setting 'shellcmdflag' to "-NoProfile -Command". Note this will prevent any -PowerShell environment setup by the profile from taking place. +with "-NoProfile" at the beginning of the 'shellcmdflag'. Note this will +prevent any PowerShell environment setup by the profile from taking place. If you have problems running PowerShell scripts through the 'shell' then try -setting 'shellcmdflag' to "-ExecutionPolicy RemoteSigned -Command". See -online Windows documentation for more information on PowerShell Execution -Policy settings. +with "-ExecutionPolicy RemoteSigned -Command" at the beginning of +'shellcmdflag'. See online Windows documentation for more information on +PowerShell Execution Policy settings. + +See |option-backslash| about including spaces in 'shellcmdflag' when using +multiple flags. The 'shellpipe' and 'shellredir' option values re-encode the UTF-16le output -from Windows PowerShell to your currently configured console codepage. The +from PowerShell Desktop to your currently configured console codepage. The output can be forced into a different encoding by changing "default" to one of the following: unicode - UTF-16le (default output from PowerShell 5.1) bigendianunicode - UTF-16 utf8 - UTF-8 - utf7 - UTF-7 (no-BOM) + utf7 - UTF-7 (no BOM) utf32 - UTF-32 ascii - 7-bit ASCII character set default - System's active code page (typically ANSI) oem - System's current OEM code page -Note Multi-byte Unicode encodings include a leading BOM. +Note The abovce multi-byte Unicode encodings include a leading BOM unless +otherwise indicated. + +By default PowerShell Core's output is UTF-8 encoded without a BOM. If you +want to force the output of PowerShell Core into a different encoding then set +'shellredir' and 'shellpipe' to "2>&1 | Out-File -Encoding encoding" where +encoding is one of the following: + + ascii - 7-bit ASCII character set + bigendianunicode - UTF-16be + bigendianutf32 - UTF-32be + oem - System's current OEM code page + unicode - UTF-16le + utf7 - UTF-7 + utf8 - UTF-8 + utf8BOM - UTF-8, with BOM + utf8NoBOM - UTF-8, no BOM (default output from PowerShell Core) + utf32 - UTF-32 + +Since PowerShell Core 6.2, the Encoding parameter also supports specifying a +numeric ID of a registered code page (-Encoding 1251) or string names of +registered code pages (-Encoding "windows-1251"). The .NET documentation for +Encoding.CodePage has more information vim:tw=78:ts=8:noet:ft=help:norl: |