การผลิตอักขระ ASCII ที่เจาะจงใน Ubuntu


19

ฉันเคยถือleft Altและป้อนอักขระ ASCII ทุกครั้งที่ฉันใช้การกำหนดค่าแป้นพิมพ์ที่ไม่รู้จักและต้องการพิมพ์อักขระพิเศษ

ตัวอย่างเช่นAlt+ 0+ 9+ 2ทำแบ็กสแลช (\)

ที่อยู่บน Windows มีวิธีทำสิ่งนี้ใน Ubuntu หรือไม่?

หมายเหตุ: ฉันต้องการที่จะใช้สิ่งนี้ในโหมดคอนโซล นั่นหมายความว่าฉันไม่ต้องการโซลูชันที่เกี่ยวข้องกับซอฟต์แวร์ด้วย GUI


มีคำถามทั่วไปเกี่ยวกับการไม่ว่าจะเป็นไปได้ที่จะทำเช่นนี้เป็นวิธีที่ Windows บน AskUbuntu เป็นที่askubuntu.com/questions/588090
JdeBP

ดูเพิ่มเติมที่unix.stackexchange.com/questions/254477บน Unix และ Linux
JdeBP

คำตอบ:


26

หากคุณกำลังใช้ Gnome (หุ้นอูบุนตูไม่) คุณสามารถทำได้โดยถือลงทั้งในCtrlและShiftคีย์และพิมพ์uตามด้วยเลขฐานสิบหกค่าของตัวละคร

เพื่อผลิตทับขวา\คุณจะถือCtrl+ ShiftและกดU, และ5C

บน Windows คุณพิมพ์ค่าทศนิยมในขณะที่บน Linux คุณพิมพ์ค่าเลขฐานสิบหก (ซึ่งโดยปกติจะสั้นกว่าหากคุณใช้ตัวเลขที่สูงกว่า) Uย่อมาจาก Unicode

ตารางสวยสมบูรณ์ของค่าเลขฐานสิบหกสามารถพบได้ที่นี่ คำเตือนหน้าอาจใช้เวลาโหลดนาน!


4
"ค่าเลขฐานสิบหก" ในความเป็นจริง Unicode codepoint แตกต่างจาก "รหัส Alt" ซึ่งเป็น ASCII
grawity

ว้าว. สิ่งที่ฉันต้องการ! ทำงานได้ทุกที่อย่างมีเสน่ห์ ขอขอบคุณ.
Philippe Carriere

1
ตอนนี้ฉันแค่ต้องเรียนรู้รหัสทั้งหมดใน hexa .... :(
Philippe Carriere

มีใครรู้วิธีทำให้งานนี้เป็น Sublime Text
ปริญญาโทเมา

6

ตัวเลือกอื่น (แต่ไม่ได้แทรกตัวอักษรด้วยรหัส ASCII / Unicode) คือการเปิดใช้งานComposeKey (เหมือนAltในกรณีของฉัน) เพื่อให้คุณสามารถพิมพ์สิ่งต่าง ๆ เช่น:

  • Alt+ =+ e→€
  • Alt+ '+ e→é
  • Alt+ ^+ e→ê

เป็นต้นในกรณีที่คุณต้องการป้อนตัวอักษรละตินที่ใช้บ่อย (เช่นในสเปน, ฝรั่งเศส, ฯลฯ ) สิ่งนี้อาจเร็วกว่าการเรียนรู้จุดรหัส Unicode มันคือทั้งหมดที่เกี่ยวกับการมีทางเลือก!


คุณไม่ต้องการรูปแบบแป้นพิมพ์ที่ไม่ใช่ของสหรัฐสำหรับสิ่งนี้ใช่ไหม
Cristian Ciupitu

2
@CristianCiupitu: ไม่คุณต้องเปิดใช้งานคีย์เขียน
Ignacio Vazquez-Abrams

@ IgnacioVazquez-Abrams คุณพูดถูก ดูเหมือนว่าสภาพแวดล้อมเดสก์ท็อป XFCE 4.10 ของฉันไม่ได้ตั้งค่าคีย์ Compose เลย แต่หลังจากตั้งค่าเป็นปุ่ม Alt ที่ถูกต้องคำตอบก็ใช้ได้ (ดังนั้น +1 จากฉัน)
Cristian Ciupitu

5

ไดรเวอร์คอนโซลของ Linux ไม่มีสิ่งอำนวยความสะดวกสำหรับการป้อนอักขระด้วยวิธีนี้ ... แต่มันไม่จำเป็นจริงๆเพราะเชลล์สามารถจัดการได้ด้วยตัวเอง

$ echo $'\x5c'
\

1
เป็นวิธีที่ดีมาก .... ฉันไม่สามารถหามันได้ใน man page ของ echo แต่ใช้งานได้! มีวิธีการให้รหัสทศนิยมแทนเลขฐานสิบหก? (ฉันเรียนรู้รหัสทศนิยมด้วยใจ)
Philippe Carriere

มีวิธีใช้สิ่งนี้เมื่อฉันอยู่ใน vi หรือ nano หรือไม่?
Philippe Carriere

2
ไม่สามารถป้อนได้เฉพาะใน hex ( \xNN) หรือ octal ( \NNN) คุณสามารถใช้printfหากคุณต้องการดูรหัสฐานสิบหกสำหรับค่า ในกลุ่มคุณสามารถพิมพ์ Ctrl-V U จากนั้น codepoint Unicode 4 หลัก นอกจากนี้quotingส่วน
Ignacio Vazquez-Abrams

2
@Silence: (1) เพราะมันเป็นคุณสมบัติของเปลือกของคุณ (ปกติbash) echoไม่ได้
grawity

@PhilippeCarriere ใน vi คุณสามารถรันคำสั่งเชลล์โดย prepending เช่น:! นอกจากนี้คุณยังสามารถแทรกเข้าไปในการส่งออกบัฟเฟอร์ปัจจุบันโดยใช้:!ls ฉันมักจะขาดตัวละครตัวหนอนดังนั้นฉันจะใช้:r ! :r !echo $'\x7e'เล็ก ๆ น้อย ๆ เพิ่มเติมเกี่ยวกับที่นี่
ใช้ได้

1

จากUTF-8 และคำถามที่พบบ่อย Unicode สำหรับ Unix / Linuxโดย Markus Kuhn:

ขยายแผนที่แป้นพิมพ์ของคุณโดยใช้xmodmap สิ่งนี้จะสะดวกเป็นพิเศษหากแป้นพิมพ์ของคุณมีAltGrคีย์ซึ่งมีจุดประสงค์เพื่อจุดประสงค์นี้อย่างแน่นอน (แป้นพิมพ์สหรัฐฯบางรุ่นมีAltGrเพียงAltแป้นขวาเท่านั้น แต่แป้นอื่น ๆ ก็ยังขาดคีย์นั้นอย่างน่าเสียดายทั้งหมดซึ่งในกรณีนี้ . เขียนไฟล์ที่~/.Xmodmapมีรายการเช่น

keycode 113 = Mode_switch Mode_switch
keysym d = d NoSymbol degree        NoSymbol
keysym m = m NoSymbol emdash        mu
keysym n = n NoSymbol endash        NoSymbol
keysym 2 = 2 quotedbl twosuperior   NoSymbol
keysym 3 = 3 sterling threesuperior NoSymbol
keysym 4 = 4 dollar   EuroSign      NoSymbol
keysym space = space  NoSymbol      nobreakspace NoSymbol
keysym minus = minus  underscore    U2212        NoSymbol
keycode 34 = bracketleft  braceleft  leftsinglequotemark  leftdoublequotemark
keycode 35 = bracketright braceright rightsinglequotemark rightdoublequotemark
keysym KP_Subtract = KP_Subtract NoSymbol U2212    NoSymbol
keysym KP_Multiply = KP_Multiply NoSymbol multiply NoSymbol
keysym KP_Divide   = KP_Divide   NoSymbol division NoSymboll

และโหลดxmodmap ~/.Xmodmapจากสคริปต์เริ่มต้น X11 ไปยังเซิร์ฟเวอร์ X ของคุณ จากนั้นคุณจะพบว่าคุณได้รับAltGrตัวละครใหม่จากคีย์บอร์ดของคุณ:

  • AltGr+ d→°
  • AltGr+ [→ '

0

ไม่ว่า OP จะขออะไร แต่อาจจะเพียงพอสำหรับผู้ที่อ่านข้อความนี้

คุณอาจพิมพ์อักขระ unicode และ ASCII บางตัวทั้งนี้ขึ้นอยู่กับเค้าโครงแป้นพิมพ์ที่คุณเลือก เหมือนใน macOS คลิกที่ตัวเลือกภาษาใกล้กับไอคอนถาด (ถ้าคุณมี) จากนั้นShow Keyboard Layoutและดูอักขระอื่น ๆ ของแต่ละปุ่ม

ตัวอย่างเช่นคุณสามารถพิมพ์ ... (จุดไข่ปลา) ด้วยright ALT + .และ÷ (หาร) right ALT + SHIFT + .ด้วย

นอกจากนี้การกดแป้นพิมพ์ทำงานแม้ใน Sublime CTRL + SHIFT + Uซึ่งพิสูจน์แล้วว่าเป็นปากแข็งมากขึ้นต่อ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.