Nano - ข้ามไปยังจุดสิ้นสุดไฟล์


37

ฉันมีไฟล์บันทึกที่มีความยาว ฉันสามารถดูบรรทัดสุดท้ายด้วยtail -n 50 file.txtแต่บางครั้งฉันต้องแก้ไขบรรทัดสุดท้ายเหล่านั้น

ฉันจะข้ามไปยังจุดสิ้นสุดของไฟล์ได้อย่างไรเมื่อดูด้วยnano?


4
ลองใช้vim:-P
ฮั

5
@ Hunter.S.Thompson สิ่งนี้มีไว้สำหรับผู้ใช้ที่ไม่ยอมใครง่ายๆ (lol)
Marko Pacak

@ ฮันเตอร์. ธ อมป์สันนั่นมันไม่ทำงาน! คุณกำลังใช้คำสั่งที่ผู้ใช้กำหนด! แต่ตอนนี้ลองvimใช้วิธีพกพาG
Volker Siegel

1
@VolkerSiegel ฉันไม่สามารถบอกได้ว่าคุณกำลังประชดประชัน แต่ไม่ใช่คำสั่งที่ผู้ใช้กำหนด มันเป็นอิโมติคอน เราเคยใช้สิ่งเหล่านี้ก่อนที่ใครบางคนปล่อยให้วัชพืชควัน Unicode
NieDzejkob

แดกดันแน่นอน! ฉันพยายามที่คำสั่งของคุณ: :บรรทัดคำสั่งเปิดกว่า-, Pและป้อน นั่นคือสิ่งที่ฉันได้รับ: "E464: การใช้คำสั่งที่ผู้ใช้กำหนดเองอย่างคลุมเครือ" ดีที่สุด!
Volker Siegel

คำตอบ:


50

nano file.txtเปิดแฟ้มที่มี

ตอนนี้พิมพ์Ctrl+ _แล้วCtrl+V


24
คุณสามารถทำ Ctrl + W, Ctrl + V - ขึ้นอยู่กับสิ่งที่มือของคุณสะดวกสบายมากขึ้น :)
psmears

@psmears ที่ขึ้นอยู่กับรุ่น v2.4 มีทางลัดของคุณ เวอร์ชันปัจจุบัน v4.0 มีทางลัดที่ Marko กล่าวถึง น่ารำคาญมาก
Mausy5043

@ Mausy5043: รุ่นที่มีอย่างน้อย 2.4 มีทั้งทางลัดทั้งชุด ดูเหมือนว่าเวอร์ชัน 4.0 จะลบ Ctrl + W, Ctrl + V ซึ่งน่ารำคาญ มันมี Ctrl + W, Ctrl + T, Ctrl + Y ซึ่งอย่างน้อยก็แค่บนปุ่มตัวอักษร แต่มีความยาว :-(
psmears

ทางลัดเหล่านั้นทำงานได้ไม่ดีใน Windows / Putty
Eric Grange

22

บรรณาธิการหลายคนสนับสนุนตัวเลือกในบรรทัดคำสั่งเพื่อข้ามไปยังบรรทัดNNNโดยตรง โชคดีสำหรับคุณดูเหมือนจะข้ามไปยังจุดสิ้นสุดหากหมายเลขบรรทัดที่ให้ไว้ผ่านจุดสิ้นสุดของไฟล์ดังนั้นคุณสามารถใช้สิ่งต่อไปนี้:+NNNnano

nano +999999 file

นั่นยังใช้งานjoeได้ แต่ไม่ใช่ในเช่นlessหรือ VIM พวกเขาบ่นว่าจะผ่าน EOF (อย่างน้อยก็ในระบบของฉันless +G fileและvi +$ fileทำงานในสิ่งนั้น)

แน่นอนว่าสิ่งที่ชอบ$EDITOR +$(wc -l file) fileอาจจะทำงานในบรรณาธิการส่วนใหญ่ แต่มันค่อนข้างโง่และเกี่ยวข้องกับการอ่านไฟล์สองครั้ง


หรือเมื่อเปิดนาโนไว้แล้วให้ใช้ <kbd> Alt / <kbd> + <kbd> G </kbd> จากนั้นป้อน 99999
Eric Grange

11

จากความช่วยเหลือนาโนในตัว ( ^G):

M-\   (^Home)   Go to the first line of the file
M-/   (^End)    Go to the last line of the file

ดังนั้นกดAlt+ \เพื่อไปยังบรรทัดแรกหรือกดAlt+ /เพื่อไปที่บรรทัดสุดท้าย

  • นี้จะเทียบเท่าของgg(เริ่มต้น) หรือG(สิ้นสุด) ในกลุ่ม
  • นี่ยังระบุว่าCtrl+ HomeหรือCtrl+ Endควรใช้งานได้เช่นกันที่ไม่เคยทำงานให้ฉัน ดูเหมือนว่าจะทำงานบนคอนโซล / เดสก์ท็อป แต่ไม่ใช่ผ่าน SSH โดยใช้ PuTTY
  • วิธีที่ฉันจำได้นี้อยู่/ใกล้ด้านล่างของแป้นพิมพ์และ\ใกล้ด้านบน

หากคุณต้องการคำสั่งคุณสามารถเขียนฟังก์ชั่นใน.bashrcหรือ.bash_aliasesเพื่อใช้การนับบรรทัดจากwc:

function nano-end {
    # if the file exists, jump to the end
    # otherwise, just open an empty nano
    [ -f "$1" ] && nano +$(wc -l "$1") || nano
}

ตอนนี้เพียงพิมพ์nano-end filenameเพื่อเปิดไฟล์ไปยังบรรทัดสุดท้าย!


3

Ctrl+ Endใช้งานได้หากคุณมีnanoโปรแกรมแก้ไข(คอมไพล์) เวอร์ชันล่าสุด

หากคุณไม่รู้วิธีการทำคุณอาจอ่านตัวแก้ไขการรวบรวมนาโนพร้อมตัวเลือก

โปรดทราบว่าในระบบที่ใหม่กว่าเช่นจาก Ubuntu 18.04 มีรุ่นดังกล่าวอยู่แล้ว

จากการเปลี่ยนแปลง :

2017 12 เมษายน - GNU nano 2.8.1

... ทำให้ ^ Home และ ^ End ไปที่จุดเริ่มต้นและสิ้นสุดของไฟล์ (บนเทอร์มินัลที่รองรับการกดแป้นเหล่านั้น) ...

PuTTY กับ Cygwin

ฉันไม่ได้ติดตั้ง PuTTY ที่นี่เราต้องพึ่งพาการอ้างสิทธิ์อื่น ๆ ชุดคีย์เหล่านี้ไม่ทำงานใน Windows 10 + PuTTY + SSH + nano> 2.8.1

ในทางกลับกันฉันมี Cygwin และ Windows 10 + Cygwin + SSH + nano> 2.8.1 ใช้งานได้


@ghaberek ดูการแก้ไขล่าสุดของฉันสำหรับรายละเอียดเกี่ยวกับวิธีการทางเลือกกับ Cygwin ซึ่งพิสูจน์แล้วว่าทำงานได้
LinuxSecurityFreak

2

OP vimอยากให้ผมเพิ่มคำตอบสำหรับการกระโดดไปที่บรรทัดสุดท้ายใน

ESC+ ShiftGจะนำคุณไปยังจุดเริ่มต้นของบรรทัดสุดท้าย

ESC+ ShiftGAจะนำคุณไปยังจุดสิ้นสุดของบรรทัดสุดท้ายและโหมดแทรกจะเปิดใช้งาน


C-o Gถ้าคุณต้องการที่จะทำเช่นนี้ในโหมดแทรกทำ ไม่ว่าคุณจะต้องการที่จะทำว่าถ้าคุณได้ใช้เป็นกลุ่มที่ถูกต้อง ...
NieDzejkob

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