ฉันต้องการวางข้อความที่ดึงลงในบรรทัดคำสั่งของ Vim เป็นไปได้ไหม?
ฉันต้องการวางข้อความที่ดึงลงในบรรทัดคำสั่งของ Vim เป็นไปได้ไหม?
คำตอบ:
ใช่. ตีCtrl- แล้วR "หากคุณมีการควบคุมตัวอักษรตัวอักษรในสิ่งที่คุณได้กระชากใช้Ctrl- R, Ctrl- ,O"
นี่คือคำอธิบายเกี่ยวกับสิ่งที่คุณสามารถทำได้กับรีจิสเตอร์ สิ่งที่คุณสามารถทำได้กับรีจิสเตอร์นั้นเป็นเรื่องพิเศษและเมื่อคุณรู้วิธีใช้งานรีจิสเตอร์คุณจะไม่สามารถอยู่ได้โดยปราศจากพวกเขา
รีจิสเตอร์นั้นเป็นตำแหน่งที่เก็บข้อมูลสำหรับสตริง Vim มีรีจิสเตอร์จำนวนมากที่ทำงานในวิธีที่ต่างกัน:
0(yank register: เมื่อคุณใช้yในโหมดปกติโดยไม่ต้องระบุ register ข้อความ yanked จะไปที่นั่นและไปยัง register เริ่มต้น)1ถึง9(เลื่อนการลบการลงทะเบียนเมื่อคุณใช้คำสั่งเช่นcหรือdสิ่งที่ถูกลบไปที่การลงทะเบียน 1 สิ่งที่อยู่ในการลงทะเบียน 1 ไปที่การลงทะเบียน 2 เป็นต้น )"(ค่าเริ่มต้นลงทะเบียนหรือที่เรียกว่าการลงทะเบียนที่ไม่มีชื่อนี่คือที่"มาCtrl- R, ")aเพื่อzสำหรับการใช้งานของคุณเอง (ทุนAที่จะZใช้สำหรับการผนวกกับการลงทะเบียนที่สอดคล้องกัน)_(ทำหน้าที่เหมือน/dev/null(Unix) หรือNUL(Windows) คุณสามารถเขียนถึงมัน แต่มันถูกทิ้งและเมื่อคุณอ่านมันจะว่างเสมอ)- (ลบการลงทะเบียนขนาดเล็ก)/(ค้นหาลงทะเบียนรูปแบบการปรับปรุงเมื่อคุณมองหาข้อความที่มี/, ?, *หรือ#เช่นนั้นคุณยังสามารถเขียนไปเพื่อจะเปลี่ยนรูปแบบการค้นหา):(เก็บ VimL คำสั่งสุดท้ายที่พิมพ์ผ่านQหรือ:อ่านอย่างเดียว)+และ*(ลงทะเบียนคลิปบอร์ดระบบคุณสามารถเขียนถึงพวกเขาเพื่อตั้งค่าคลิปบอร์ดและอ่านเนื้อหาคลิปบอร์ดจากพวกเขา)ดู:help registersการอ้างอิงแบบเต็ม
คุณสามารถใช้:registersเพื่อแสดงเนื้อหาของการลงทะเบียนได้ทุกเวลา คำพ้องและ shorthands สำหรับคำสั่งนี้มี:display, และ:reg:di
ในโหมดแทรกหรือบรรทัดคำสั่งCtrl- Rบวกชื่อลงทะเบียนแทรกเนื้อหาของการลงทะเบียนนี้ หากคุณต้องการแทรกอย่างแท้จริง (ไม่มีการเยื้องอัตโนมัติไม่มีการแปลงอักขระควบคุมเช่น0x08backspace ฯลฯ ) คุณสามารถใช้Ctrl- R, Ctrl- O, ชื่อลงทะเบียน ดู:help i_CTRL-Rและย่อหน้าต่อไปนี้สำหรับการอ้างอิงเพิ่มเติม
แต่คุณสามารถทำสิ่งต่อไปนี้ได้ (และฉันอาจลืมการใช้งานหลายอย่างสำหรับการลงทะเบียน)
":pในโหมดปกติตี คำสั่งสุดท้ายที่คุณใช้เป็นกลุ่มจะถูกวางลงในบัฟเฟอร์ของคุณ
มาย่อยสลายกัน: "เป็นคำสั่งโหมดปกติที่ให้คุณเลือกว่าจะใช้รีจิสเตอร์ใดในระหว่างการดึงลบหรือวางถัดไป ดังนั้น":เลือกโคลอนรีจิสเตอร์ (การเก็บคำสั่งสุดท้าย) จากนั้นpเป็นคำสั่งที่คุณรู้แล้วมันวางเนื้อหาของการลงทะเบียน
cf เลย :help ",:help quote_:
คุณกำลังแก้ไขไฟล์ VimL (เช่นคุณ.vimrc) yj:@"Enterและต้องการที่จะดำเนินการคู่สายติดต่อกันในขณะนี้:
ที่นี่yjyanks บรรทัดปัจจุบันและถัดไป (นี่เป็นเพราะ j คือการเคลื่อนไหว linewise แต่นี่อยู่นอกขอบเขตของคำตอบนี้) ในการลงทะเบียนเริ่มต้น (หรือที่เรียกว่าการลงทะเบียนที่ไม่มีชื่อ) จากนั้น:@คำสั่ง Ex จะเล่นคำสั่ง Ex ที่เก็บไว้ใน register ที่กำหนดเป็นอาร์กิวเมนต์และ"เป็นวิธีที่คุณอ้างถึง register ที่ไม่มีชื่อ ดูด้านบนของคำตอบนี้ซึ่งเกี่ยวข้อง
อย่าสับสน"ใช้ที่นี่ (ซึ่งเป็นชื่อลงทะเบียน) กับ"จากตัวอย่างก่อนหน้านี้ซึ่งเป็นคำสั่งโหมดปกติ
cf เลย :help :@และ:help quote_quote
ใส่รูปแบบการค้นหาที่ผ่านมาเป็นไฟล์ของคุณในโหมดแทรกหรือเข้าไปในบรรทัดคำสั่งที่มีCtrl- ,R/
cf เลย :help quote_/,help i_CTRL-R
ควันหลง: เก็บรูปแบบการค้นหาของคุณ แต่เพิ่มทางเลือก: / Ctrl- ,R/ \|alternative
คุณได้เลือกสองคำที่อยู่ตรงกลางบรรทัดในโหมดภาพแล้วดึงคำเหล่านั้นด้วยyพวกเขาอยู่ในการลงทะเบียนที่ไม่มีชื่อ :puตอนนี้คุณต้องการที่จะเปิดตัวสายผลิตภัณฑ์ใหม่ด้านล่างที่ที่คุณอยู่กับทั้งสองคำ: :put "นี่คือชวเลข :putคำสั่งเช่นคำสั่ง Ex หลายทำงานเฉพาะ linewise
cf เลย :help :put
นอกจากนี้คุณยังจะได้ทำ: แล้ว:call setreg('"', @", 'V') ฟังก์ชั่นชุดลงทะเบียนซึ่งเป็นชื่อที่ได้รับเป็นอาร์กิวเมนต์แรก (เป็นสตริง) เริ่มต้นด้วยเนื้อหาของอาร์กิวเมนต์ที่สอง (และคุณสามารถใช้ลงทะเบียนเป็นตัวแปรที่มีชื่อที่เป็นชื่อลงทะเบียนใน VimL) และ เปลี่ยนเป็นโหมดที่ระบุในอาร์กิวเมนต์ที่สามสำหรับ linewise ไม่มีอะไรสำหรับ characterwise และ literal สำหรับ blockwisepsetreg@xxV^V
cf เลย :help setreg(). ฟังก์ชั่นกลับและgetreg()getregtype()
หากคุณบันทึกแมโครด้วยqa... qจากนั้น:echo @aจะบอกสิ่งที่คุณพิมพ์และ@aจะเล่นซ้ำแมโคร (อาจเป็นเพราะคุณรู้ว่ามีประโยชน์อย่างมากในการหลีกเลี่ยงงานซ้ำ ๆ )
cf เลย :help q,help @
ข้อสรุปจากตัวอย่างก่อนหน้า: หากคุณมี8goในคลิปบอร์ดแล้ว@+จะเล่นเนื้อหาคลิปบอร์ดเป็นมาโครและไปที่ไบต์ที่ 8 ของไฟล์ของคุณ จริง ๆ แล้วมันจะทำงานกับการลงทะเบียนเกือบทุก หากสตริงที่คุณแทรกล่าสุดอยู่ddในโหมดแทรกดังนั้น@.จะ (เพราะการ.ลงทะเบียนมีสตริงที่แทรกล่าสุด) ลบบรรทัด (เอกสารที่เป็นกลุ่มที่เป็นธรรมในเรื่องนี้เพราะมันระบุว่าการลงทะเบียน#, %, :และ.จะทำงานเฉพาะกับp, P, :putและCtrl- R)
cf เลย :help @
อย่าสับสน:@(คำสั่งที่เล่นคำสั่ง Vim จากการลงทะเบียน) และ@(คำสั่งโหมดปกติที่เล่นคำสั่งโหมดปกติจากการลงทะเบียน)
@:ยกเว้นที่น่าสังเกตคือ การลงทะเบียนคำสั่งไม่ได้มีเครื่องหมายโคลอนเริ่มต้นและไม่มีการคืนค่าขนส่งครั้งสุดท้าย อย่างไรก็ตามในโหมดปกติ@:จะทำสิ่งที่คุณคาดหวังตีความการลงทะเบียนเป็นคำสั่ง Ex ไม่พยายามเล่นในโหมดปกติ ดังนั้นหากคำสั่งสุดท้ายของคุณคือ:eการลงทะเบียนมีeแต่@:จะโหลดไฟล์ใหม่ไม่ไปที่จุดสิ้นสุดของคำ
cf เลย :help @:
@='dd' Enterแสดงสิ่งที่คุณจะทำในโหมดปกติก่อนที่จะใช้มัน ทันทีที่คุณกด=ปุ่ม Vim จะเปลี่ยนเป็นการประเมินผลนิพจน์: เมื่อคุณป้อนนิพจน์และกดปุ่มEnterVim จะคำนวณและผลลัพธ์จะทำหน้าที่เป็นเนื้อหาการลงทะเบียน แน่นอนว่าการลงทะเบียน=เป็นแบบอ่านอย่างเดียวและถ่ายได้ครั้งเดียว ทุกครั้งที่คุณเริ่มใช้งานคุณจะต้องป้อนนิพจน์ใหม่
cf เลย :help quote_=
ข้อสรุป: หากคุณกำลังแก้ไขคำสั่งและคุณตระหนักดีว่าคุณควรจะแทรกบรรทัดคำสั่งของคุณในบัฟเฟอร์บรรทัดปัจจุบันของคุณ: อย่ากดEsc! การใช้งาน-Ctrl R =getline(58) Enterหลังจากนั้นคุณจะกลับไปที่การแก้ไขบรรทัดคำสั่ง แต่มันได้แทรกเนื้อหาของบรรทัดที่ 58
กำหนดรูปแบบการค้นหาด้วยตนเอง: :let @/ = 'foo'
cf เลย :help :let
ทราบว่าการทำเช่นนั้นคุณไม่จำเป็นต้องหลบหนี/ในรูปแบบ อย่างไรก็ตามคุณจำเป็นต้องเพิ่มราคาเป็นสองเท่าของหลักสูตรทั้งหมด
คัดลอกทุกสายเริ่มต้นด้วยfooและหลังจากนั้นทุกสายที่มีbarไปยังคลิปบอร์ดโซ่คำสั่งเหล่านี้: qaq(รีเซ็ตลงทะเบียนการจัดเก็บแมโครที่ว่างภายในมัน) , ,:g/^foo/y A:g/bar/y A:let @+ = @a
การใช้ชื่อทุนจดทะเบียนทำให้การลงทะเบียนทำงานในโหมดต่อท้าย
ดีกว่าถ้าQไม่ได้รับการ remapped โดยmswin.vimเริ่มต้นโหมด Ex กับQห่วงโซ่บรรดา“คำสั่งลำไส้ใหญ่” ซึ่งเป็นจริงดีที่เรียกว่า“คำสั่ง Ex” visualและกลับไปที่โหมดปกติโดยการพิมพ์
cf เลย :help :g, :help :y,:help Q
เว้นวรรคไฟล์ของคุณ: :g/^/put _. สิ่งนี้ทำให้เนื้อหาของการลงทะเบียนหลุมดำ (ว่างเมื่ออ่าน แต่เขียนได้ปฏิบัติเหมือน/dev/null) linewise หลังจากแต่ละบรรทัด (เพราะทุกบรรทัดมีจุดเริ่มต้น!)
เพิ่มบรรทัดที่มีfooก่อนแต่ละบรรทัด: :g/^/-put ='foo'. นี่เป็นการใช้การลงทะเบียนนิพจน์อย่างชาญฉลาด นี่-คือคำพ้องสำหรับ.-1(cf. :help :range) เนื่องจาก:putใส่ข้อความหลังบรรทัดคุณต้องบอกให้ดำเนินการกับข้อความก่อนหน้าอย่างชัดเจน
:%y+คัดลอกบัฟเฟอร์ทั้งหมดไปยังคลิปบอร์ดระบบ:
cf เลย :help :range(สำหรับ%บางส่วน) :help :yและ
หากคุณบันทึกแมโครผิดคุณสามารถพิมพ์:let @a=' Ctrl- R =replace(@a,"'","''",'g') Enter 'และแก้ไขได้ สิ่งนี้จะแก้ไขเนื้อหาของแมโครที่เก็บไว้ในรีจิสเตอร์aและจะแสดงที่นี่วิธีที่คุณสามารถใช้นิพจน์รีจิสเตอร์
ถ้าคุณทำddddคุณอาจทำuuเพื่อเลิกทำ ด้วยpคุณจะได้รับบรรทัดที่ถูกลบล่าสุด แต่จริงๆแล้วคุณยังสามารถกู้คืนได้ถึง 9 ลบกับการลงทะเบียนผ่าน@1@9
ยิ่งไปกว่านั้นถ้าคุณทำ"1Pแล้ว.ในโหมดปกติจะเล่น"2Pและต่อ ๆ ไป
cf เลย :help .และ:help quote_number
หากคุณต้องการแทรกวันที่ปัจจุบันในโหมดแทรก: -CtrlR=strftime('%y%m%d')Enter
cf เลย :help strftime()
สิ่งที่อาจทำให้สับสน:
:@ เป็นคำสั่งบรรทัดคำสั่งที่ตีความเนื้อหาของการลงทะเบียนเป็น vimscript และแหล่งมัน@ ในคำสั่งโหมดปกติที่ตีความเนื้อหาของการลงทะเบียนเป็นการกดแป้นโหมดปกติ (ยกเว้นเมื่อคุณใช้การ:ลงทะเบียนที่มีคำสั่งเล่นล่าสุดโดยไม่ต้องโคลอนเริ่มต้น: ในกรณีนี้มันจะซ้ำคำสั่งราวกับว่าคุณพิมพ์โคลอนและ คีย์ส่งคืนสุดท้าย)
" ในคำสั่งโหมดปกติที่ช่วยให้คุณเลือกลงทะเบียนสำหรับงัด, วาง, ลบ, แก้ไข, ฯลฯ
" ยังเป็นชื่อรีจิสเตอร์ที่ถูกต้อง (ดีฟอลต์หรือไม่มีชื่อรีจิสเตอร์) และสามารถส่งผ่านเป็นอาร์กิวเมนต์สำหรับคำสั่งที่ต้องการชื่อรีจิสเตอร์สำหรับการวางสิ่งที่อยู่ในระบบคลิปบอร์ดคุณก็สามารถใช้-SHIFTINS
มันใช้งานได้ใน Windows แต่ฉันเดาว่ามันทำงานได้ดีใน Linux เช่นกัน
:!rm -rf /<cr>มันจะเรียกใช้งาน ใช้รีจิสเตอร์แทน!
shift-insนั้นง่ายกว่าctrl-R+*? แน่นอนว่าถ้าคุณอยู่ใน gvim ถ้าคุณอยู่ในสถานีที่เชื่อมต่อกับเครื่องอื่นและคุณต้องการวางบางสิ่งบางอย่างจากคลิปบอร์ดของคุณคุณจะรู้สิ่งที่ดีกว่าshift-ins? เพราะรีจิสเตอร์ไม่ทำงานในสถานการณ์นั้น โปรดคิดก่อนที่จะแสดงความคิดเห็นและทำสิ่งอื่น ๆ (เช่น downvoting)
"ฉันต้องการวางข้อความที่ดึงลงในบรรทัดคำสั่ง Vim"
ในขณะที่คำตอบที่ได้รับการโหวตสูงสุดเสร็จสมบูรณ์มากฉันชอบแก้ไขประวัติคำสั่ง
ในโหมดปกติให้พิมพ์: q:ในโหมดปกติพิมพ์:นี่จะให้รายการคำสั่งล่าสุดแก้ไขและค้นหาได้ด้วยคำสั่ง vim ปกติ คุณจะเริ่มบรรทัดคำสั่งว่างที่ด้านล่าง
สำหรับสิ่งที่แน่นอนที่บทความถามวางบรรทัด yanked (หรือ yanked อะไร) ลงในบรรทัดคำสั่งกระชากข้อความของคุณแล้ว: q:p(เข้าสู่โหมดแก้ไขประวัติคำสั่งและจากนั้น (p) ข้อความ yanked ของคุณเป็นคำสั่งใหม่ บรรทัดแก้ไขที่ต้องการenterเพื่อดำเนินการ
หากต้องการออกจากโหมดประวัติคำสั่งมันตรงกันข้าม ในโหมดปกติในประวัติคำสั่งให้พิมพ์: :q+enter
สำหรับการวางบางสิ่งบางอย่างจากคลิปบอร์ดระบบเข้าไปในบรรทัดคำสั่งที่เป็นกลุ่ม ( "โหมดคำสั่ง"), การใช้งานCtrl+ ตามด้วยR +สำหรับฉันอย่างน้อยใน Ubuntu, Shift+ Insไม่ทำงาน
PS: ฉันไม่แน่ใจว่าทำไมCtrl+ Rตามด้วย*ซึ่งในทางทฤษฎีเหมือนกับCtrl+ Rตามด้วย+ดูเหมือนจะไม่ทำงานเสมอ ฉันค้นหาและค้นพบ+เวอร์ชันและดูเหมือนว่าจะทำงานได้เสมออย่างน้อยในกล่องของฉัน
เป็นที่น่าสังเกตว่าการลงทะเบียน yank นั้นเหมือนกับบัฟเฟอร์มาโคร ในคำอื่น ๆ คุณสามารถเขียนออกคำสั่งของคุณทั้งหมดในเอกสารของคุณ (รวมถึงข้อมูลโค้ดวางของคุณ) แล้ว"byที่จะดึงเอามันไปลงทะเบียนและเรียกมันด้วยb@b
ฉันมีปัญหาที่คล้ายกัน ฉันต้องการให้ข้อความที่เลือกนั้นลงท้ายด้วยคำสั่ง แต่ไม่ต้องพึ่งพาการวางไว้นี่คือคำสั่งที่ฉันพยายามเขียนการแม็พสำหรับ:
:call VimuxRunCommand("python")
เอกสารสำหรับปลั๊กอินนี้แสดงโดยใช้ตัวอักษรสตริงเท่านั้น ต่อไปนี้จะแตกถ้าคุณพยายามเลือกข้อความที่มี doublequotes:
vnoremap y:call VimuxRunCommand("<c-r>"")<cr>
ในการหลีกเลี่ยงปัญหานี้คุณเพียงแค่อ้างอิงเนื้อหาของมาโครโดยใช้@:
vnoremap y:call VimuxRunCommand(@")<cr>
ส่งต่อเนื้อหาของการลงทะเบียนที่ไม่มีชื่อและทำงานร่วมกับใบเสนอราคาคู่และใบเสนอราคาแบบหลายชั้น
@ตัวอักษรไปยังคำสั่ง vimux คิดว่าการ@หลบหนีอ้างสองต่อไปนี้และมันจะถือว่าเป็นทะเบียนแทนที่จะเป็นตัวละครปกติ vnoremapฉันได้กำหนดไว้มีการใช้งานในโหมดภาพจึง yanks ข้อความที่เลือกแล้ววางมันลงไปในคำสั่ง vimux ที่จะส่งไปยังล่ามทำงานในกรอบที่อยู่ติดกัน ยอดเยี่ยมมากสำหรับการทำงานกับสคริปต์และทดสอบส่วนเล็ก ๆ ของมันด้วยการกดแป้นสองสามครั้ง
OS X
หากคุณใช้ Vim ใน Mac OS X แต่น่าเสียดายที่มันมาพร้อมกับเวอร์ชั่นเก่ากว่าและไม่ปฏิบัติตามตัวเลือกคลิปบอร์ด โชคดีที่Homebrewสามารถแก้ปัญหานี้ได้อย่างง่ายดาย
ติดตั้งเป็นกลุ่ม:
brew install vim --with-lua --with-override-system-vi
ติดตั้ง Vim เวอร์ชัน GUI:
brew install macvim --with-lua --with-override-system-vi
รีสตาร์ทเครื่องเพื่อให้มีผล
ผนวกบรรทัดต่อไปนี้ไปที่ ~/.vimrc
set clipboard=unnamed
ตอนนี้คุณสามารถคัดลอกบรรทัดใน Vim ด้วยyyและวางทั้งระบบ
สำหรับบริบทข้อมูลนี้มาจากการที่ไม่มีปลั๊กอินไม่มีพฤติกรรม. vimrc Vim 7.4 ใน Linux Mint ที่มีตัวเลือกเริ่มต้น
คุณสามารถเลือกข้อความด้วยเมาส์ได้ตลอดเวลา (หรือใช้Vหรือvวางการเลือกใน "* register") และวางลงในบรรทัดคำสั่งด้วยShift+ Ctrl+v +
การพิมพ์Ctrl+ rในบรรทัดคำสั่งจะทำให้พรอมต์สำหรับชื่อการลงทะเบียน ดังนั้นการพิมพ์:CTRL-r*จะวาง content register * ลงในบรรทัดคำสั่ง มันจะวางการลงทะเบียนใด ๆ ไม่ใช่แค่ "* ดู:help c_CTRL-Rดู
นอกจากนี้ปุ่มกลางของเมาส์จะวางลงในบรรทัดคำสั่ง
ดู :help->quote-plusคำอธิบายของวิธีที่ X Window เกี่ยวข้องกับการเลือก แม้ในกลุ่ม Vim แบบธรรมดา (อีกครั้งใน Vim 7.4 ใน Linux Mint อยู่แล้ว) การเลือกใด ๆ ที่ทำด้วยปุ่มซ้ายของเมาส์สามารถวางในบรรทัดคำสั่งด้วยปุ่มกลางของเมาส์
นอกจากนี้ปุ่มกลางของเมาส์จะวางข้อความที่เลือกใน Vim ลงในแอปพลิเคชั่น X Window อื่น ๆ อีกมากมายแม้แต่ GUI (เช่น Firefox และThunderbird) ) และการวางข้อความลงในบรรทัดคำสั่งก็เป็นไปได้เช่นกันเมื่อเลือกข้อความจากแอพอื่น ๆ .
ดู: help-> x11-selection สำหรับข้อมูล addl
TL; DR
ลองวิธี: CTRL-r ก่อนแล้วจึงใช้Shift+ Ctrl+ vหรือปุ่มกลางของเมาส์ถ้าคุณต้องการอย่างอื่น
ยอมรับว่ามันอาจทำให้เกิดความสับสน
"[a-z]y: คัดลอกข้อความไปยัง [az] register
ใช้:!เพื่อไปที่คำสั่งแก้ไข
Ctrl+ R: ติดตามข้อมูลประจำตัวทะเบียนเพื่อวางสิ่งที่คุณคัดลอก
มันใช้กับ CentOS 7
หากคุณมีค่าสองค่าที่ดึงลงในสองรีจิสเตอร์ที่แตกต่างกัน (ตัวอย่างเช่นรีจิสเตอร์aและรีจิสเตอร์b) จากนั้นคุณสามารถตั้งค่าตัวแปรcและดำเนินการกับมันได้
ตัวอย่างเช่น:set c = str2float(@a) + str2float(@b)จากนั้นคุณสามารถวางเนื้อหาcได้ทุกที่
ตัวอย่างเช่นขณะอยู่ในโหมด INSERT CTRL + Rจากนั้นพิมพ์=เพื่อป้อนลงในนิพจน์เรจิสเตอร์และเพียงพิมพ์cหลังเครื่องหมายเท่ากับแล้วกด ENTER เสร็จแล้วตอนนี้คุณควรจะมีทั้งหมดaและbลงทะเบียน
สิ่งเหล่านี้สามารถบันทึกได้ในมาโครแล้วซ้ำอีก!
str2floatฟังก์ชั่นถูกใช้ถ้าคุณกำลังทำงานกับลอยถ้าคุณไม่ได้คุณจะได้รับจำนวนเต็มแทน
ฉันไม่แน่ใจว่านี่เป็นสำนวนหรือไม่ แต่มันก็ใช้ได้กับกรณีของฉันที่ฉันต้องการเพิ่มตัวเลข 2 ตัวในหนึ่งแถวและทำซ้ำอีก 500 บรรทัด