在 vim 中将光标移动到文件末尾

问题描述 投票:0回答:17

当我希望光标在 Vim 中转到文件末尾(即最后一行的末尾)时,我必须输入六次按键:

<ESC>G$a
- 在我的键盘布局上翻译为 ESC + Shiftg + Shift4 + a

我怎样才能更有效地做到这一点?

由于我经常在许多不同的机器上工作,所以我不能总是更改 .vimrc,所以我正在寻找答案,而不必编辑或创建该文件。

vim
17个回答
655
投票

这样更快。就用这个吧

:$

483
投票

在执行

a
之前无需显式转到行尾,请使用
A
;
在行尾添加文本 [count] 次

<ESC>GA


158
投票

点击 Esc,然后按:Shift + G


65
投票

转到顶部 - 双g

转到底部 - Shift + g


56
投票

对于初学者来说,不需要退货。

G$
就可以了。并且您在正常模式命令的长度中计算
<Esc>
a
会产生误导。

但是,如果您愿意,可以使用 Ctrl + End


27
投票

我以为问题是“在 vim 中将光标移至文件末尾”?

文件结束: Esc + G
文件开始 Esc + g(或

gg
,如果您已位于命令区域)


26
投票

转到文件最后一行的最佳方法是使用

G
。这会将光标移动到文件的最后一行。

转到该行最后一列的最佳方法是使用

$
。这会将光标移动到当前行的最后一列。

因此只需执行

G$
即可到达文件末尾和最后一行。

如果您想在文件末尾进入插入模式,那么您只需执行

GA
即可。通过执行此操作,您将转到文件的最后一行,并通过附加到最后一列来进入插入模式。 :)


16
投票

尝试执行

SHIFT + G
,您将到达页面末尾,但您还无法编辑。通过执行
G + G

到达顶部

12
投票

如果您打算编写下一行,ESCGo将执行回车并让您在下一行(在文件末尾)进入插入模式,从而节省更多的击键次数。


9
投票
  • Ctrl + Home
    = 跳转到文件开头
  • Ctrl + End
    = 跳转到文件末尾

7
投票

您所要做的就是按 ESC 然后按 SHIFT G,光标将移动到文件末尾。


4
投票

您可以将其映射到 .vimrc 中的某个键,例如 F3

inoremap <F3> <Esc>GA

2
投票

另一种选择:

:call cursor('.',strwidth(getline('.')))

如果您正在编写函数,这可能很有用。 另一种情况是当我需要打开特定模板并跳转到第一行末尾时,我可以这样做:

vi +"call cursor('.',strwidth(getline(1)))"  notetaking_template.txt

以上也可以用

来完成
vi +"execute ':normal! $'" notetaking_template.txt

另请参阅:

vim - 获取当前行的长度


2
投票
  • 要转到最后一行并保留您所在的列: Shift + g

  • 要在此移动后转到行尾:Shift + $

我们可以使用 Shift + g + $ 组合这些动作

请记住,g + g 将使您返回到文件的开头。


0
投票

我一直在寻找将光标移动到行尾然后在 Mac 终端上进行编辑的方法,这就是它对我的作用。退出编辑模式,输入 g_(即“g”,然后是下划线,前面没有冒号),然后只需按“a”键,这样您就可以将代码“添加”到脚本中


0
投票

如果您想在文件末尾粘贴一些剪贴板内容,请输入:

:$ put +

$ ............ last line
put .......... paste 
+ ............ clipboard

0
投票

我还没有看到发布的另一种方法是:

[[
转到文件开头

]]
转到文件末尾

© www.soinside.com 2019 - 2024. All rights reserved.