CAP เป็นโปรแกรมที่เมื่อ กดปุ่ม CapsLock ค้างไว้แล้วกดแป้นพิมพ์อื่น จะส่งคีย์ลัดหรือส่งพฤติกรรมของเม้าสออกไป เช่น กดค้าง CapsLock + กด i จะเลื่อนตำแหน่ง cursor ขึ้น 1 บรรทัด (เหมือนกดลูกศรขึ้น) หรือ กดค้าง CapsLock + กด h จะเลื่อนเม้าสขึ้น
ทุกอย่างมีเรื่องราว
เนื่องจากผมเป็นคนชอบเขียนโค้ดมาก และมักฝึกซ้อมฝึกพิมพ์ให้ไว รวมถึงฝึกใช้ shortcuts ต่างๆใน Editor และ IDE ให้คล่องๆ เพื่อความมันส์ในการโค้ด โดยที่ไม่อยากยกมือ/ยกนิ้วออกจากตำแหน่งมาตราฐาน (asdf-jkl;) ไม่อยากใช้เม้าส ไม่อยากเอื้อมมือไปกดลูกศร ไม่อยากทำท่าทำมือแปลกๆเวลากดคีย์ลัด อีกทั้งหลายๆ Editor และ IDE ก็มี shortcuts ที่ต่างๆกัน หรือพอใช้ Programming Languages ที่ต่างกัน ก็จะต้อง กด สัญลักษณ์ comment ที่ต่างกัน… นี่ยังไม่รวมถึงเวลาโค้ดมันส์ๆแล้วเผลอไปโดน capslock
ดังนั้น ผมเลยตัดสินใจ (ดูหนัง superhero เยอะเกินไป)
- สังหาร “The stupid capslock must die.”
- ให้กำเนิด “One CAP to rule them all.”
ในตอนแรกก็ว่าจะทำแค่ลูกศร ขึ้น/ลง/ซ้าย/ขวา แต่ไปๆมาๆ One thing lets to another จาก 1 ชม ขำๆ กลายเป็น 50 ชม กลายเป็น 120 ชม ใน 10 วัน (แต่สนุกมากครับ) ซึ่งเอาจริงๆ เวลาที่ใช้ในการเขียนโค้ดน้อยมาก ไม่ถึง 20% ของเวลาทั้งหมด แต่ไปใช้เวลาหลักๆในการทดสอบ และการออกแบบ UX/UI เช่น
- ควรกดปุ่ม CapsLock ค้างไว้ในตอนใช้โปรแกรมหรือไม่ แล้วมันไปเปลี่ยนแปลง Window Default ยังไง
- ควรใช้ปุ่มอะไรแทนลูกศร ขึ้น/ลง/ขวา/ซ้าย (i/k/l/j) โดยต้องไม่ลืมว่านิ้วก้อยซ้ายต้องกด CapsLock ค้างอยู่
- ควรจำเป็นต้องมีปุ่มแทน mouse มั้ย แล้วปุ่มคลิ๊กซ้ายอยู่ปุ่มไหน ต้องมี double click ดีมั้ย
- เมื่อเข้าโหมดเลือกตัวอักษร (Selection) ผู้ใช้จะรู้ได้ยังไง ว่าโหมดเลือกตัวอักษรเปิดอยู่ หรือว่าปิดไปแล้ว
- เมื่อต้องการเลือกทั้งบรรทัด แล้วเลื่อน cursor ขึ้นลง จะมีผลต่อการเลือกยังไง (window default ค่อนข้างจำกัด)
- เมื่อทำการสลับไปมาระหว่างโปรแกรม ควรจะทำให้ Mouse วิ่งตามไปดีมั้ย (windows default ไม่ตามน่ะ)
จากข้างต้นที่เกริ่มมา ยังต้องพิจารณาถึงข้อจำกัด Limitation ต่างๆ เช่น กรณีตัว keyboard แต่ล่ะรุ่นด้วย รวมไปถึง default keyboard layout ของภาษานั้นๆที่ผู้ใช้ Users ตั้งค่าไว้ ทำให้ผมต้องไปหาซื้อ keyboard 200 บาท มาเพิ่ม และมันก็ทำงานไม่เหมือนกันจริงๆด้วย (ตอนรู้นี่… น้ำตานองหน้าเลย) แอบเครียดว่าต้องตัดสินใจให้ผู้ใช้ตั้ง default language เป็นภาษาอังกฤษ ดีมั้ย? แต่สรุปทำใจไม่ได้ ไม่อยากบังคับน้องๆโปรแกรมเมอร์ เลยทำให้บางปุ่มที่อยากใช้ไม่ได้ใช้
ต่อมาก็เป็นเรื่องการตัดสินใจว่า จะใส่ฟังก์ชั่นอะไรลงไปบ้าง ถึงตรงนี้ก็เริ่มรู้ตัวแล้วว่า ไม่สามาถทำอะไรตามใจฉันได้ (โลกแห่งความจริงไม่ใช่ทุ่งลาเวนเดอร์) และไม่มีเวลาเหลือแล้ว ทุกโปรเจ็คต้องมี Deadline จะรวย/จน ขยัน/เกียจคร้าน เก่ง/โง่เขลา ทุกคนมีแค่ 24ชั่วโมงต่อวัน สุดท้ายถ้าใครถามทำไมทำแค่นี้ คำตอบคือ MVP ภายใน 10 วัน from concept to prototype, to launch.
เรื่องสุดท้ายในการออกแบบการทำงานของ CapsLock ก็น่าจะเป็นเรื่องที่คิดถึงน้องๆโปรแกรมเมอร์ ว่าผมจะพอช่วยอะไรได้บ้าง ก็เลยตัดสินใจเพิ่มคีย์ลัดหาคำแปลภาษาไทย !CapsLock !Space D (D for Dictionary) และคีย์ลัดหาตัวอย่างโค้ด !CapsLock !Space C (C for Code) ซึ่งสามารถใช้คีย์ลัดกับภาษาคอมอะไรก็ได้ เพราะตัวโปรแกรมมันจะเช็คว่า file extension ที่โค้ดอยู่เป็นภาษาอะไร ซี่งหวังว่าจะพอช่วยน้องๆได้บ้าง ไม่มากก็น้อย
Programming is about
Making Decision.
จุดประสงค์
- เพื่อให้เขียนโค้ดอย่างเมามัน ไม่ต้องยกมือออกจากแป้นพิมพ์ ไม่ต้องเอานิ้วออกจากตำแหน่งมาตราฐานในการพิมพ์ ไม่ต้องเอื้อมมือไปกดปุ่มไกลๆ เช่นปุ่ม Home, End, ลูกศรต่างๆ และไม่ต้องใช้เม้าส
- อำนวยความสะดวกในการส่งคีย์ลัดให้ง่ายขึ้น เช่น CapsLock + w ในการสลับโปรแกรมที่ใช้อยู่หลายโปรแกรมไปมา (ปรกติคือ Alt + Tab) และพฤติกรรมเกี่ยวข้องที่ตามมา + q เพื่อย้อนเลือกโปรแกรม (ปรกติคือ Alt + Shift + Tab)
- สร้างพฤติกรรมใหม่ๆของแป้นพิมพ์ ให้ดีมากขึ้น เช่น กดค้าง CapsLock + Enter ไม่ว่าจะอยู่ตำแหน่งไหนของบรรทัด จะขึ้นบรรทัดใหม่ว่างๆให้ (ปรกติคือ End + Enter)
- สร้างพฤติกรรมใหม่ๆให้เม้าส เช่น เมื่อกดค้าง CapsLock + w ไปที่หน้าโปรแกรมใหม่ เม้าสจะเลื่อนไปอยู่กลางหน้าโปรแกรมที่เปิดใหม่ด้วย
- สร้างมาตราฐานการใช้คีย์ลัด ให้ใช้งานครอบคลุมทุกโปรแกรม กด CapsLock + … จะได้พฤติกรรมเหมือน/คล้ายกันหมด (ทดสอบใน AmiBroker, VS Code, Pycharm, MS Word, MS Excel, Chrome, Firefox, …)
ประโยชน์
- เขียนโค้ดมันมากกก
- ทำงานอื่นๆเร็วขึ้น
- ใช้คีย์ลัดง่ายขึ้น
ข้อเสีย
Beta ยังใช้ตอนแป้นเป็นภาษาไทยไม่ได้ต้องกด capslock อีกรอบเพื่อปิดโหมด Capslock- เมื่อย… นิ้วก้อยซ้ายมาก
การติดตั้ง
1. ดาวน์โหลดโปรแกรม ไปวางไว้ที่ Desktop ก่อน และทำการคลิ๊กที่ไอคอน 2 ครั้ง
2. ถ้าใช้แล้วชอบ ให้เอาไปวางไว้ที่ folder “common startup”
2.1 กดปุ่ม Window + r แล้ว พิมพ์
shell:common startup แล้วกด Enter
2.2 ลากโปรแกรมไปวางไว้ในโฟลเดอร์ common startup
(พอเปิดคอมครั้งหน้า โปรแกรม TQ CapsLock จะเปิดเองอัตโนมัติ พร้อมใช้ได้ทันที)
คำแนะนำ
อยากให้ลองค่อยๆฝึกใช้ สัปดาห์ล่ะตารางไปเรื่อยๆ จนหมด เอาเท่าที่สะดวก สบายใจ เน้นคีย์ที่คิดว่าใช้บ่อยๆก็พอ ไม่ต้องเล่นท่ายากอะไรมากมาย รับรองว่าพอใช้คล่องจะมันมากส์
เบื้องต้น
คีย์ | คำอธิบาย |
---|---|
!CapsLock … | กดค้าง ตามด้วยปุ่มอื่น… เพื่อเริ่มทำงาน |
!CapsLock F9 | เปิดหน้าเวปนี้ ดูคู่มือ |
!CapsLock Esc | ปิดโปรแกรม |
Shift CapsLock | เปิดโหมดตัวอักษรใหญ่ |
CapsLock | ปิดโหมดตัวอักษรใหญ่ |
กด CapsLock ค้างไว้ แล้วตามด้วย …
มาตราฐาน Cursor
คีย์ !CapsLock | คำอธิบาย: ! คือให้กดค้าง |
---|---|
I (ร) | เลื่อนขึ้น 1 บรรทัด |
K | |
L | เลื่อนขวา 1 ตัวอักษร |
J | |
F | ไปยังต้นบรรทัด |
G | ไปยังท้ายบรรทัด |
Enter | เปิดบรรทัดใหม่ จากกลางบรรทัด |
R | ลบซ้าย |
T |
กระโดดข้ามคำ/บรรทัด
คีย์ !CapsLock | อธิบาย |
---|---|
!Space I (ร) | กระโดดขึ้น 3 บรรทัด |
!Space K | |
!Space L | กระโดดข้าม 1 คำ |
!Space J |
มาตราฐานเม้าส
คีย์ !CapsLock | อธิบาย |
---|---|
H | เลื่อนเม้าสขึ้น |
N | |
M | เลื่อนเม้าสไปทางขวา |
B | |
, (ม) | เม้าสคลิกซ้าย |
. (ใ) |
Scroll หน้าจอแนวตั้ง/นอน
คีย์ !CapsLock | อธิบาย: Space = อวกาศ |
---|---|
!Space H | เลื่อนจอขึ้น |
!Space N | |
!Space M | |
!Space B |
เลือกตัวอักษร หรือแถว
คีย์ !CapsLock | อธิบาย: S = Selection |
---|---|
S | เปิด/ปิด โหมดเลือกตัวอักษร |
S S | กดเร็วๆ เพื่อเลือกทั้งคำ |
S L | เลือกตัวอักษรเพิ่ม ด้านซ้าย |
S J | |
S I (ร) | เลือกตัวอักษรด้านบน 1 บรรทัด |
S K | |
S F | เลือกทั้งหมดไปถึงต้นบรรทัด |
S G | เลือกทั้งหมดไปถึงท้ายบรรทัด |
S !Space L | เลือกคำ 1 คำ ด้านซ้าย |
S !Space J | |
D | เลือกทั้งบรรทัด |
ความสามารถพิเศษ
คีย์ !CapsLock | อธิบาย: W = Windows |
---|---|
O (น) | เลื่อนเม้าสไปหา cursor |
P | เลื่อนเม้าสไปกลางจอโปรแกรม |
Q | สลับหน้า tab ในโปรแกรม |
Q Q… | ลองกด Q กดซ้ำๆ |
W | สลับระหว่างโปรแกรมที่เปิดอยู่ |
W W… | ลองกด W ซ้ำๆ |
W L… | ลองกด W แล้วตามด้วย L ซ้ำๆ |
W J… | |
W Q… |
ความสามารถทั่วไป
คีย์ !CapsLock | อธิบาย |
---|---|
/ (ฝ) | คอมเม้นโค้ด ใน Editor/IDE |
C | ก๊อปปี้ |
V | |
X | |
Z | Undo |
A | เลือกทั้งเอกสาร |
Stock, Dictionary, and Code
สำหรับ Coders และ Quants โดยเฉพาะ
คีย์ !CapsLock | อธิบาย |
---|---|
!Space S | Stock ดูราคาและกราฟหุ้น |
!Space D | Dictionary หาคำแปลภาษาไทย |
!Space F | ค้นหาภายในเอกสาร |
!Space G | Google ค้นหาทั่วไป |
!Space C | Code หาโค้ดตัวอย่าง คำอธิบาย |
!Space R | Research หาข่าวบน WSJ, B, FT |
!Space T | Tradingview จาก Ticker |
Y | Browse เวป ย้อนกลับ |
U |
AMIBROKER
Amibroker Shortcuts & AFL Shortcodes
Shortcuts และ Shortcodes ในส่วนนี้ ทำให้ นศ. ThaiQuants เป็นของขวัญปี 2022 และนักลงทุนไทย ที่ลงทุนด้วยระบบเทรดหุ้นโดยใช้โปรแกรม AmiBroker
AmiBroker Shortcuts
คีย์ !CapsLock | อธิบาย |
---|---|
!Space B | Backtest |
!Space E | Exploration |
!Space O | Optimization |
!Space W | สลับไปมา Main กับ Editor |
!Space Q | สลับ tabs ใน Main Window |
L | เลื่อน chart ไปทางขวา |
J | |
I | Zoom ออก |
K | |
G | เลื่อน chart ไปซ้ายสุดๆ |
F | |
/ (ฝ) | //คอมเม้นโค้ด |
AFL Shortcodes
Shortcodes ที่นำเสนอ เอามาจาก AmiBroker Template แนะนำให้ลองศึกษาอย่างละเอียด
พิมพ์ใน Editor | อธิบาย (อย่าลืม . จุด) |
---|---|
info. | Info section |
options. | 1. Options section |
market. | 2. Market section |
signals. | 3. |
positions. | 4. |
stops. | 5. |
simulation. | 6. |
custom. | 7. Custom |
link. | /** คอมเม้น @link URL */ |
dt. | //คอมเม้น วันเวลาปัจจุบัน |
More Shortcodes
พิมพ์ใน Editor | อธิบาย |
---|---|
so.mop. | SetOptions(“MaxOpenPositions”, MOP) |
so.ie. | InitialEquity |
so.cm. | CommissionMode |
so.ca. | CommissionAmount |
so.aps. | AllowPositionShrinking |
so.upb. | UsePrevBarEquityForPosSizing |
so.mpv. | MinPosValue |
so.ms. | MinShares |
rls. | RoundLotSize = 100; |
bpsp.o. | BuyPrice = SellPrice = Open; |
bpsp.c. | … = Close; |
std. | SetTradeDelays |
mk.f. | buyConMK using SET Index filter |
bc. | buyCon1 … |
sc. | sellCon1 … |
cs. | Cover = Short = 0; |
ass. | Avoid Stock Split |
asd. | Avoid Stock Delisted |
ps. | PositionScore |
sps.e. | SetPositionSize: Equity |
sps.v. | Value |
sps.s | Shares |
as.l. | ApplyStop: Loss |
as.t. | Trailing |
as.p. | Profit |
as.nb. | NBars |
mcs.mt. | MC Sim: Missing Trades |
mcs.s. | MC Sim: Slippage |
ts. | Tick size |
ความพยายามอยู่ที่ไหน
ความสำเร็จอยู่ที่นั่น
ThaiQuants.com
06/10/2021