Nano-跳至文件尾


37

我有一些长日志文件。我可以使用查看最后几行tail -n 50 file.txt,但有时我需要编辑这些最后几行。

使用观看文件时,如何直接跳到文件末尾nano


4
试用vim:-P
Hunter.S.Thompson,

5
@ Hunter.S.Thompson这是针对非铁杆用户的(笑)
Marko Pacak,

@ Hunter.S.Thompson无效!您正在使用用户定义的命令!但是,现在vim以便携式方式尝试G
Volker Siegel,

1
@VolkerSiegel我不知道您是否在讽刺,但这不是用户定义的命令。这是一个图释。在有人让Unicode吸烟之前,我们曾经使用过这些东西。
NieDzejkob '18年

讽刺,当然!我尝试了您的命令::打开命令行-P然后输入。那就是我得到的:“ E464:用户定义命令的歧义使用”。祝一切顺利!
Volker Siegel '18

Answers:


51

使用打开文件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 /腻子很好地工作
埃里克田庄

22

许多编辑器都支持在命令行上直接跳转到NNN行的选项。幸运的是,如果给定的行号超出了文件的末尾,它似乎会跳到末尾,因此您可以使用以下命令:+NNNnano

nano +999999 file

这也适用于joe,但不适用于例如lessVIM,他们抱怨要越过EOF。(至少是我系统上的那些。less +G filevi +$ file在其中工作。)

当然,$EDITOR +$(wc -l file) file在大多数编辑器中都可以使用类似的方法,但这有点愚蠢,并且需要两次读取文件。


或在nano已打开的情况下,使用<kbd> Alt / <kbd> + <kbd> G </ kbd>,然后输入99999
Eric Grange

11

从内置的Nano帮助(^G):

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

因此,按Alt+ \转到第一行或按Alt+ /转到最后一行

  • 这相当于vim中gg(start)或G(end)。
  • 这也说明Ctrl+ HomeCtrl+ End应该起作用,但是那对我从来没有用过 它们似乎可以在控制台/桌面上正常工作,但不能通过使用PuTTY的SSH进行工作。
  • 我记得这是/在键盘底部\附近和顶部附近。

如果需要命令,则可以在.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

CtrlEnd如果您使用的是最新(编译)版本的nano编辑器,则+ 可以使用。

如果您不知道如何操作,则可以阅读带有选项的Compiling Nano编辑器

请注意,在较新的系统(例如,基于Ubuntu 18.04的系统)中,已经存在这样的版本。

变更日志

2017年4月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。并不是说,如果您使用的是vim,那么您就想这么做...
NieDzejkob '18

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.