Nano - nhảy đến cuối tập tin


37

Tôi có một số tệp nhật ký dài. Tôi có thể xem các dòng cuối cùng tail -n 50 file.txt, nhưng đôi khi tôi cần chỉnh sửa các dòng cuối cùng.

Làm cách nào để nhảy thẳng đến cuối tập tin khi xem nó nano?


4
Hãy dùng thử vim:-P
Hunter.S.Thndry

5
@ Hunter.S.Thndry Điều này được dành cho người dùng không phải là người khó tính (lol)
Marko Pacak

@ Hunter.S.Thndry Điều đó không hiệu quả! Bạn đang sử dụng một lệnh do người dùng xác định! Nhưng bây giờ hãy thử vimtheo cách di động G
Volker Siegel

1
@VolkerSiegel Tôi không thể biết bạn có bị mỉa mai không, nhưng đó không phải là lệnh do người dùng xác định. Đó là một biểu tượng cảm xúc. Chúng tôi thường sử dụng những thứ này trước khi ai đó để Unicode hút cỏ.
NieDzejkob

Sarcastic, tất nhiên! Tôi cố gắng lệnh của bạn: :để dòng lệnh mở, hơn -, Pvà nhập. Đó là những gì tôi nhận được: "E464: Sử dụng mơ hồ lệnh do người dùng định nghĩa". Tất cả tốt nhất!
Volker Siegel

Câu trả lời:


52

Mở tệp với nano file.txt.

Bây giờ gõ Ctrl+ _và sau đó Ctrl+V


24
Bạn cũng có thể thực hiện Ctrl + W, Ctrl + V - tùy thuộc vào những gì thoải mái hơn cho đôi tay của bạn :)
psmears

@psmears phụ thuộc vào phiên bản. v2.4 có các phím tắt của bạn. Phiên bản hiện tại v4.0 có các phím tắt Marko đề cập. Rất phiền toái.
Mausy5043

@ Mausy5043: Các phiên bản tối thiểu 2.4 có cả hai bộ phím tắt. Phiên bản 4.0 dường như đã loại bỏ Ctrl + W, Ctrl + V, gây khó chịu; nó có Ctrl + W, Ctrl + T, Ctrl + Y, ít nhất là chỉ trên các phím chữ cái, nhưng dài hơn :-(
psmears

Những phím tắt đó không hoạt động tốt trong Windows / Putty
Eric Grange

22

Nhiều biên tập viên hỗ trợ tùy chọn trên dòng lệnh để nhảy trực tiếp đến dòng NNN . May mắn cho bạn, dường như nhảy đến cuối nếu số dòng được cung cấp đã qua cuối tệp, vì vậy bạn có thể sử dụng một cái gì đó như:+NNNnano

nano +999999 file

Điều đó cũng hoạt động joe, nhưng không phải trong, ví dụ lesshoặc VIM, họ phàn nàn về việc vượt qua EOF. (ít nhất là những người trong hệ thống của tôi. less +G filevi +$ filelàm việc trong những người đó.)

Tất nhiên một cái gì đó giống như $EDITOR +$(wc -l file) filecó thể sẽ làm việc trong hầu hết các biên tập viên, nhưng điều đó hơi ngớ ngẩn và liên quan đến việc đọc tệp hai lần.


Hoặc với nano đã mở, hãy sử dụng <kbd> Alt / <kbd> + <kbd> G </ kbd> sau đó nhập 99999
Eric Grange

11

Từ trợ giúp Nano tích hợp ( ^G):

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

Vì vậy, nhấn Alt+ \để đi đến dòng đầu tiên hoặc nhấn Alt+ /để đi đến dòng cuối cùng .

  • Điều này sẽ tương đương với gg(bắt đầu) hoặc G(kết thúc) trong vim .
  • Điều này cũng nói rằng Ctrl+ Homehoặc Ctrl+ Endnên hoạt động, nhưngđiều đó không bao giờ làm việc cho tôi chúng dường như hoạt động tự nhiên trên bảng điều khiển / máy tính để bàn nhưng không thông qua SSH bằng PuTTY.
  • Cách tôi nhớ điều này là /ở gần dưới cùng của bàn phím và \gần trên cùng.

Nếu bạn muốn một lệnh , bạn có thể viết một hàm trong .bashrchoặc .bash_aliasessử dụng số đếm dòng từ 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
}

Bây giờ chỉ cần gõ nano-end filenameđể mở tệp đến dòng cuối cùng của nó!


3

Ctrl+ Endđang hoạt động, nếu bạn có phiên bản nanotrình biên tập (đã biên dịch) gần đây .

Nếu bạn không biết, làm thế nào để làm điều đó, bạn có thể đọc trình soạn thảo Biên dịch Nano với các tùy chọn

Lưu ý rằng trong các hệ thống mới hơn, ví dụ dựa trên Ubuntu 18.04, đã có phiên bản như vậy.

Từ thay đổi :

Ngày 12 tháng 4 năm 2017 - GNU nano 2.8.1

... làm cho ^ Trang chủ và ^ Kết thúc đi đến phần bắt đầu và kết thúc của tệp (trên các thiết bị đầu cuối hỗ trợ các tổ hợp phím đó) ...

PuTTY vs Cygwin

Tôi chưa cài đặt PuTTY, ở đây chúng tôi phải dựa vào các khiếu nại khác mà các tổ hợp phím này không hoạt động trong Windows 10 + PuTTY + SSH + nano> 2.8.1.

Mặt khác, tôi có Cygwin và Windows 10 + Cygwin + SSH + nano> 2.8.1 hoạt động tốt.


@ghaberek Xem bản chỉnh sửa mới nhất của tôi để biết chi tiết về cách tiếp cận thay thế với Cygwin, được chứng minh là có hiệu quả.
LinuxSecurityFreak

2

OP muốn tôi thêm câu trả lời cho việc nhảy đến dòng cuối cùng vim.

ESC+ ShiftGsẽ đưa bạn đến đầu dòng cuối cùng.

ESC+ ShiftGAsẽ đưa bạn đến cuối dòng cuối cùng và chế độ chèn sẽ được kích hoạt.


Nếu bạn muốn làm điều này trong chế độ chèn, hãy làm C-o G. Không phải là bạn sẽ muốn làm điều đó nếu bạn đang sử dụng vim đúng ...
NieDzejkob

2

Để truy cập trực tiếp vào cuối tệp bằng nano, chỉ cần gõ: Alt+/


Trên một số hệ thống, Alt (hoặc Meta) được bật bằng phím Esc: - \
Mausy5043
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.