如何在Windows中键入带重音符号的字符?


41

听说您可以按住alt并键入一些神秘的数字代码来获取诸如重音字母之类的字符。有没有办法像mac方式那样做呢?

Answers:


18

本机软件选项

Windows字符映射

Windows字符映射

通过以下方法之一打开Windows字符映射:

  • 转至“ 开始”→“所有程序”→“附件”→“系统工具”→“字符映射表”,依次单击“开始”→“ Windows附件”→“字符映射表”
  • 您可以Character Map在开始菜单搜索框中键入“ ”。
  • 您可以二次单击“开始”按钮,单击“ 运行”,键入“ charmap”,然后单击“ 确定”(或单击Enter)。
  • 您可以按Win+ R,键入“ charmap”,然后单击“ 确定”(或单击Enter)。
  • 您可以在桌面或其他位置上为其创建快捷方式。
  • 如果是Windows 7,则可以将其固定到任务栏或“开始”菜单

打开Windows字符映射表后,

  1. 找到您想要的角色。
  2. 单击将放大该字符以使其更接近外观。
  3. 双击会将字符添加到底部的“ 要复制字符”文本框中,然后将要复制字符的内容放在剪贴板上。然后可以将(Ctrl+ V)粘贴到要使用字符的位置。

键盘快捷键

要使用Alt键盘快捷键,您必须拥有一个带有专用数字键盘的键盘,并且必须打开Numlock。您还必须知道所需字符的编号。例如,如果你想输入与重音符(E)一个小写e,然后你就按住Alt键,并输入Numpad 0Numpad 2 Numpad 3Numpad 3。请记住,必须打开Num Lock,并且必须使用数字键盘上的键。您不能使用键盘顶部的数字键。

找出与字符关联的数字是几种不同的方法。最简单的方法是使用Windows字符映射表,如果您在单击一个字符后在字符映射表的右下角注意到,它会告诉您按键顺序。也有很多网站列出了这样的网站,例如将该网站分为几类

附加语言服务

您可以为西班牙语,德语,希腊语等添加其他输入语言服务。

  1. 转到控制面板,然后在时钟”,“语言”和“区域”下单击“ 更改键盘”或其他输入方法
  2. 单击键盘和语言选项卡
  3. 单击更改键盘...按钮
  4. 点击添加...按钮
  5. 扩展使用所需字符的语言(例如,西班牙语(墨西哥)
  6. 展开键盘
  7. 检查选项之一(例如拉丁美洲
  8. 点击确定按钮
  9. 点击“ 应用”按钮

之后,语言选择器将出现在系统托盘中。然后,您可以单击以打开语言选择菜单。

输入语言选择器

例如,如果要键入小写的急性e(é),则只需单击语言选择器,选择“ 西班牙语(Mexico)”,然后´按键,然后按e。您应确保切换回英语(美国)或任何母语。

注意,您可以通过按Left Alt+ 切换输入语言Left Shift,也可以在上一节的第3步之后到达的“ 文本服务和输入语言”对话框的“ 高级键设置”选项卡下为特定输入语言设置热键。

硬体选项

正如其他人提到的,您可以购买带有重音符号的键盘,例如eBay上价格为5.00美元的拉丁/西班牙键盘

第三方软件选项

这些选项将使您最接近Mac风格。在Linux中,您可以设置行为类似于Mac方法的所谓“组合键”。例如,键入一个小写急性é(E)你会做Compose Key'e。结果,您可以搜索“ Windows的组合键”并获得大多数这些选项。

  1. freecompose:在Windows 2000或更高版本上运行。这是我个人使用并推荐的方式,因为它使您可以添加,删除和更改键序列。
  2. AutoHotkey的与组合这个脚本@jay提及
  3. Unichars:也是AutoHotkey解决方案
  4. 所有字符

就个人而言,我喜欢将“组合键”设置为该Caps Lock键。但是很多人都使用Left Alt密钥。


15

Ctrl+ ',然后放开他们,e将给您é

这将适用于元音,但在我的测试中,仅在某些情况下(例如MS Office)。


1
通过执行CTRL + Shift + 然后按n还没有尝试任何操作,它也适用于ñ
Drew Chapin 2013年

6
这对于DECADES很有用,但是显然最近在Windows 10中,他们无缘无故地删除了对此的支持。在我的键盘布局(芬兰语)中,例如ñ曾经通过按Alt Gr +〜然后再按n起作用,现在它什么都不做。
珍妮·恩伯格

@JanneEnberg 如果添加美国-国际键盘而不是普通的美国键盘,则可以返回CTRL + Shift +〜行为。
罗尔德'18

@Roald似乎没有这样的选择Finnish - International,我从不使用美国布局
Janne Enberg,

10

一种替代方法是安装多语言键盘布局(例如,加拿大多语言),然后使用热键(在Vista和7中为ALT + SHIFT)在该键盘布局和常规键盘布局之间切换。


谢谢Ivo-我忘记了更改PC上的按键顺序。
MetalMikester,2010年

1
@Ivo:Alt + Shift切换输入语言,Ctrl + Shift切换当前活动输入语言的键盘布局(至少默认情况下)。当然,经常切换输入语言也会切换键盘布局,但这两个概念是不同的。取决于您的配置(一种输入语言,多种键盘布局或多种输入语言,每种都有自己的布局)可能是正确的。
乔伊,2010年

1
美国国际学校也很不错,尽管并不适合所有欧洲语言(例如缺少波兰语)。另一种方法是使用MSKLC创建自定义键盘布局:microsoft.com/downloads/...
乔伊

1
Ctrl + Shift使我发疯,当我不想要它时切换到国际。在Windows 8.1中,转到“控制面板”>“时钟,语言和区域”>“语言”>“高级设置”>“更改语言栏热键”>“高级键设置”>“更改键顺序”。将“切换键盘布局”设置为“未分配”。Windows + Space仍然可以使用,但是Ctrl + Shift将不再切换键盘布局。
克里斯蒂安·朗

实际的快捷方式(例如“右Alt +撇号,字母”)显示在Microsoft文章support.microsoft.com/en-us/kb/97738#/en-us/kb/97738中,该文章出现在IE中,但未出现在火狐浏览器。但是,当我删除普通的美国键盘布局并只保留美国国际键盘以避免随机来回切换时,我观察到只有RightWin +撇号充当前缀,并且仅在某些窗口中起作用,并且仅在按Alt + Shift之后...不知道为什么。
eel ghEEz 2015年


7

我一直在这个论坛(http://www.autohotkey.com/forum/topic570.html)的“ jak”中使用这个很棒的AutoHotkey脚本。只需将此脚本设置为在启动时运行:

有了这个,你可以做像

  • Windows +`,然后按e以获得è
  • Windows +:然后按e以获得

...等等

;====================================
;accents "top part" - this top part needs to be located at the top part (the 'run' part) of the ahk file
;====================================
;
;============ ----- Send Unicode Character - universal MS word-style accents in any application
;
SendInput:=DllCall("GetProcAddress",UInt,DllCall("GetModuleHandle",Str,"user32"),Str,"SendInput")
VarSetCapacity(SendUbuf, 56, 0) ; INIT SendU data strucure
NumPut(1, SendUbuf, 0, "Char")
NumPut(1, SendUbuf,28, "Char")
NumPut(0x40000, SendUbuf, 6)
NumPut(0x60000, SendUbuf,34)
;-----------------
;

;====================================
;accents "hotkey part" -  (this part can be located anywhere)
;====================================
;



SendU(UC) {                     ; Send Unicode Char, Pressed modifier keys stay active!
   Global                       ; SendUbuf, SendInput
   NumPut(UC, SendUbuf, 6, "Short")
   NumPut(UC, SendUbuf,34, "Short")
   Return DllCall(SendInput, UInt,2, UInt,&SendUbuf, Int,28)
}


a::
if accent=grave
;   sendinput,à
{
SendU(0x00e0)
}
else if accent=acute
{
;   Send,á
SendU(0x00e1)
}

else if accent=circumflex
;   sendinput,â
{
SendU(0x00e2)
}
else if accent=tilda
;    sendinput,ã
{
SendU(0x00e3)
}
else if accent=umlaut
;   sendinput,ä
{
SendU(0x00e4)
}
Gosub,TurnAccentsOff
Return


c::
if accent=cedilla
;    sendinput,ç
{
SendU(0x00e7)
}
Gosub,TurnAccentsOff
Return

e::
if accent=grave
;   sendinput,è
{
SendU(0x00e8)
}
else if accent=acute
;   sendinput,é
{
SendU(0x00e9)
}
else if accent=circumflex
;   sendinput,ê
{
SendU(0x00ea)
}
else if accent=umlaut
;   sendinput,ë
{
SendU(0x00eb)
}
Gosub,TurnAccentsOff
Return


i::
if accent=grave
;   sendinput,ì
{
SendU(0x00ec)
}
else if accent=acute
;   sendinput,í
{
SendU(0x00ed)
}
else if accent=circumflex
;   sendinput,î
{
SendU(0x00ee)
}
else if accent=umlaut
;  sendinput,ï
{
SendU(0x00ef)
}
Gosub,TurnAccentsOff
Return


n::
if accent=tilda
;    sendinput,ñ
{
SendU(0x00f1)
}
Gosub,TurnAccentsOff
Return

o::
if accent=grave
;   sendinput,ò
{
SendU(0x00f2)
}
else if accent=acute
;   sendinput,ó
{
SendU(0x00f3)
}
else if accent=circumflex
;   sendinput,ô
{
SendU(0x00f4)
}
else if accent=tilda
;    sendinput,õ
{
SendU(0x00f5)
}
else if accent=umlaut
;   sendinput,ö
{
SendU(0x00f6)
}
Gosub,TurnAccentsOff
Return


u::
if accent=grave
;   sendinput,ù
{
SendU(0x00f9)
}
else if accent=acute
;   sendinput,ú
{
SendU(0x00fa)
}
else if accent=circumflex
;   sendinput,û
{
SendU(0x00fb)
}
else if accent=umlaut
;   sendinput,ü
{
SendU(0x00fc)
}
Gosub,TurnAccentsOff
Return


+a::
if accent=grave
;   sendinput,À
{
SendU(0x00c0)
}
else if accent=acute
;   sendinput,Á
{
SendU(0x00c1)
}
else if accent=circumflex
;   sendinput,Â
{
SendU(0x00c2)
}
else if accent=tilda
;    sendinput,Ã
{
SendU(0x00c3)
}
else if accent=umlaut
;   sendinput,Ä
{
SendU(0x00c4)
}
Gosub,TurnAccentsOff
Return



+c::
if accent=cedilla
;    sendinput,Ç
{
SendU(0x00c7)
}
Gosub,TurnAccentsOff
Return


+e::
if accent=grave
;   sendinput,È
{
SendU(0x00c8)
}
else if accent=acute
;   sendinput,É
{
SendU(0x00c9)
}
else if accent=circumflex
;   sendinput,Ê
{
SendU(0x00ca)
}
else if accent=umlaut
;  sendinput,Ë
{
SendU(0x00cb)
}
Gosub,TurnAccentsOff
Return


+i::
if accent=acute
;   sendinput,Í
{
SendU(0x00cc)
}
else if accent=grave
;   sendinput,Ì
{
SendU(0x00cd)
}
else if accent=circumflex
;   sendinput,Î
{
SendU(0x00ce)
}
else if accent=umlaut
;   sendinput,Ï
{
SendU(0x00cf)
}
Gosub,TurnAccentsOff
Return


+n::
if accent=tilda
;    sendinput,Ñ
{
SendU(0x00d1)
}
Gosub,TurnAccentsOff
Return


+o::
if accent=grave
;   sendinput,Ò
{
SendU(0x00d2)
}
else if accent=acute
;   sendinput,Ó
{
SendU(0x00d3)
}
else if accent=circumflex
;   sendinput,Ô
{
SendU(0x00d4)
}
else if accent=tilda
;    sendinput,Õ
{
SendU(0x00d5)
}
else if accent=umlaut
;   sendinput,Ö
{
SendU(0x00d6)
}
Gosub,TurnAccentsOff
Return



+u::
if accent=grave
;   sendinput,ù
{
SendU(0x00d9)
}
else if accent=acute
;   sendinput,ú
{
SendU(0x00da)
}
else if accent=circumflex
;   sendinput,û
{
SendU(0x00db)
}
else if accent=umlaut
;   sendinput,ü
{
SendU(0x00dc)
}
Gosub,TurnAccentsOff
Return


TurnAccentsOff:
Hotkey,a,off
Hotkey,e,off
Hotkey,i,off
Hotkey,o,off
Hotkey,u,off
Hotkey,c,off
Hotkey,n,off
Hotkey,+a,off
Hotkey,+e,off
Hotkey,+i,off
Hotkey,+o,off
Hotkey,+u,off
Hotkey,+c,off
Hotkey,+n,off
Return

TurnAccentsOn:
Hotkey,a,on
Hotkey,e,on
Hotkey,i,on
Hotkey,o,on
Hotkey,u,on
Hotkey,c,on
Hotkey,n,on
Hotkey,+a,on
Hotkey,+e,on
Hotkey,+i,on
Hotkey,+o,on
Hotkey,+u,on
Hotkey,+c,on
Hotkey,+n,on
Return



<#'::
keywait, lwin
accent=acute
Gosub,TurnAccentsOn
Return



<#`::
keywait, lwin
accent=grave
Gosub,TurnAccentsOn
Return



<#6::
<#+6::
keywait, lwin
accent=circumflex
Gosub,TurnAccentsOn
Return



<#;::
<#+;::
keywait, lwin
accent=umlaut
Gosub,TurnAccentsOn
Return



<#,::
keywait, lwin
accent=cedilla
Gosub,TurnAccentsOn
Return



<#+`::
keywait, lwin
accent=tilda
Gosub,TurnAccentsOn
Return



Gosub,TurnAccentsOff

还有一种类似Mac的方法,我在这里没有尝试过:http : //www.autohotkey.com/forum/topic30440.html


我使用了您提供的第二个链接autohotkey.com/forum/topic30440.html,这很摇滚:)谢谢!
adambox'3

1
更新:autohotkey脚本吞噬了我的ctrl键,搞砸了各种东西。我现在只使用copypastechar:P copypastecharacter.com
adambox 2010年

@adambox:吞噬?
jay

启用后,我无法执行ctrl-a之类的操作来全部选择:(
adambox 2010年

在第一个链接给出第二个脚本的情况下,它对我来说非常有效,没有Ctrl吞噬的情况:我仍然可以按Ctrl + A等方式重读。:)
Kev11年


4

您可以尝试使用WinCompose,分配一个热键,例如右Alt键或右Ctrl键,然后点按以激活WinCompose,然后输入所需的键序列以创建所需的字符。

https://github.com/samhocevar/wincompose

例如ö通过执行创建(=>表示序列中的下一个字符)

WinCompose (right alt for me) => o => "

您甚至可以做unicode符号等。 🚲

WinCompose => WinCompose => b => i => c => y => c => l => e


3

Windows 8具有触摸键盘,默认情况下仅在您具有触摸屏时才显示,但您可以将其设置为即使没有触摸屏也可以显示。使用触摸键盘,您可以按住一个字母,它会向您显示其带重音的变体。


3

您想要的是键盘布局。如果只需要使用常见的西欧带重音符号的字符,则Microsoft提供的UK Extended或US International可以键入这些字符而无需使用Alt-Numpad代码。

另外,西班牙语的布局与英语的布局相似,并且具有用于西班牙语口音的固定键。

最后,对于几乎全面的解决方案,请考虑以下欧元键盘布局:

它使用官方的MSKLC创建,它将键入几乎每种欧洲语言,并允许输入分数,连字,En-Dash,Em-Dash,带圆圈的数字等内容。

我本人还没有使用过,但是我打算今天晚上尝试一下。


2

我会毫不客气地插入我编写的用于在Windows中输入符号的小工具,因为我发现通常对于日常使用而言,解决方案通常过于繁琐。我的个人用例是在国际通用的美国键盘上键入瑞典语å,而不必切换布局或诉诸(颤抖)alt键代码。

它允许通过弹出窗口输入unicode字符,这与Apple OS X中的工作原理没有什么不同。

有关详细信息,请参见https://github.com/mjvh80/SymWin,它是免费的开放源代码,但必须(当前)进行编译。如果有足够的兴趣,我可以添加一个预构建的版本。

可以针对每个键配置该工具,例如通过一次从站点(例如http://copypastecharacter.com)复制/粘贴符号来进行配置。


1

另一个插件:Keyferret是一个免费的基于Windows的工具,我最近编写了它,使输入所有这些字符变得容易,例如

  • 输入“ a”,然后按Right Alt+ 以获得“á”
  • 输入“ 1/2”,然后按Right Alt+ Space以获得“ 1/2”
  • 依次输入“ =”和“ Right Alt+” /以获得“≠”
  • 按住的同时Right Alt,按住d可获得“ð”(eth),“°”(度),“†”(匕首),“‡”(双匕首)或“♦”(菱形),当您您想要的符号。

它以本机方式挂接Windows,而不是作为自动热键脚本,通过按住RAlt键提供交互式帮助,并且您可以编辑自己的布局(尽管这需要编辑文本文件)。


1

另一个无耻的自我推广...我为Windows 10编写了一个应用程序-KeyEXT-模仿Mac本身的功能。您可以按住一个键以显示带重音符号和其他外来字符的选项。默认设置包括基于拉丁语的欧洲语言所需的大多数字符。您还可以自定义自己的设置,以包含所需的Unicode中的任何字符-阿拉伯语,中文,梵语,Wingdings风格的东西……等等。

您可以在这里找到它:https : //www.microsoft.com/store/apps/9P8X3818K9KT


嘿,我没有找到其他方式向您发送消息。您介意修复应用程序中的错误,或者进行一些小的更改吗?
herrmartell

0

并非如此,Windows不允许重音输入。但是,使用“字符映射”实用程序通常很容易找到所需的代码。

在运行对话框(Win + R)中,执行:charmap.exe

在该页面的顶部,将显示一个字体选择,以及该字体提供的字符网格。我建议选择一种好的标准字体(例如Times New Roman)。找到您想要的字符,然后单击一下。

在窗口的右下角,将有一个与您用来键入该字符的Alt + ###代码相关的代码。另外,如果您双击字符,它将把它附加到应用程序左下方的文本框中,您可以在其中轻松地将其复制并粘贴到所需字符的程序中。

某些软件内置有特殊字符插入(例如,在Word中,在“插入特殊字符”下)。但是请注意,如果您使用非标准字体,则可能会得到您期望的以外的东西(Wingdings是一个很好的例子)。


0

我使用了许多奇数字符,实际上发现使用MSKLC创建一个新的键盘布局值得使用,该布局使用了我惯用的布局,但是在不显眼的地方添加了许多特殊字符。我最常用的是作为AltGr组合插入的,例如,AltGr+ n表示ŋ等。想法是,您或使用计算机的任何人都应将所有内容放在预期的位置,并在需要时使用所有这些多余的字符。唯一可行的方法是,如果您不厌其烦地将角色放置在直观的位置。如果不确定键盘上是否存在字符,您将尝试使用哪些键?这些通常是保留它们的好地方。

当然,这并不能解决所有问题。我还为word中的插入符号对话框设置了键盘快捷键,使用Charmap和单独的键盘布局来实现完全不同的输入方法,例如基于阿拉伯语的字母。

就是说,我对组合解决方案的想法很感兴趣,因为它们也使您可以使用直观的路径找到所需的字符。让我想起旧的Word Perfect ...


0

keyxpat可能是您的解决方案。您会在期望的键上得到重音符号和其他变音符号。您获得的字符仅取决于释放键所花费的时间(节拍器可帮助您确定该时刻)。我首先为自己编写了此书,许多人对此表示赞赏,因此我现在在网上提出该书。


0

所以我在网上搜索了如何键入enye ...我昨天偶然发现了它...只是...then press the letter "n" if you wana type it in a small letter just let go ctrl+shift+在您按“ n”之前按住ctrl + shift + ...此热键在Windows 8.1上有效。


0

您没有提到您使用的Windows版本。

在Windows 7中,这非常适用于爱尔兰法达元音,也用于其他语言:

  • Win Key+ a类型á
  • Win Key+ e类型é
  • Win Key+ i类型í
  • Win Key+ o类型ó
  • Win Key+ i类型ú

但这在Windows 10中对我不起作用,Janne Enberg在其中一篇文章中指出,它已在更新中删除:-(

对于Windows 10 Duolingo,请访问以下页面: 如何在英文键盘上键入重音符号(Windows 10教程)


0

在Windows中使用Microsoft Word的Windows,请尝试以下操作(可能在Outlook中也可以使用)
ctrl +`
ctrl +'
ctrl + shift +
〜ctrl + shift + ^
ctrl + /
ctrl + shift +:
然后在其后加上适当的字母(例如小写o)以获取带重音符号。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.