470

当我想让光标在 Vim 中移动到文件的末尾(即最后一行的末尾)时,我必须键入六次击键:

<ESC>G$a-在我的键盘布局上转换为ESC+ Shiftg+ Shift4+ 。a

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

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

4

14 回答 14

593

这个比较快。就用这个

:$
于 2014-08-20T09:49:05.207 回答
458

在执行之前无需明确地走到行尾a,使用A;
在行尾追加文本 [count] 次

<ESC>GA

于 2013-06-09T17:35:18.990 回答
144

点击Esc然后按:Shift+G

于 2014-07-01T14:06:46.030 回答
47

对于初学者来说,没有必要返回。G$会做。而且您通过计算正常模式命令的长度<Esc>和长度来误导您。a

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

于 2013-06-09T17:36:29.847 回答
43

转到顶部 - 双g

转到底部 - Shift+g

于 2020-02-19T13:16:40.360 回答
27

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

End-of-file: Esc+ G
Begin-of-file Esc+ g(或者gg如果你已经在命令区)

于 2015-04-20T15:56:44.350 回答
25

转到文件最后一行的最佳方法是使用G. 这会将光标移动到文件的最后一行。

转到行中最后一列的最佳方法是使用$. 这会将光标移动到当前行的最后一列。

因此,只需这样做G$,您就可以到达文件的末尾和最后一行。

如果您想在文件末尾进入插入模式,那么您只需执行GA. 通过这样做,您将转到文件的最后一行,并通过附加到最后一列进入插入模式。:)

于 2013-06-09T17:38:25.613 回答
12

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

于 2017-03-01T06:54:23.057 回答
11

尝试这样做SHIFT + G,您将在页面的末尾,但您还不能编辑。通过做到达顶部G + G

于 2020-10-09T18:02:14.407 回答
8
  • Ctrl + Home= 跳转到文件开头
  • Ctrl + End= 跳转到文件末尾
于 2019-09-05T13:49:02.417 回答
3

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

inoremap <F3> <Esc>GA
于 2013-06-09T17:35:08.060 回答
0

如果要在文件类型的末尾粘贴一些剪贴板内容:

:$ put +

$ ............ last line
put .......... paste 
+ ............ clipboard
于 2020-04-27T16:38:27.487 回答
0

另一种选择:

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

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

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

以上也可以用

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

也可以看看:

vim - 获取当前行的长度

于 2019-12-27T08:02:54.660 回答
0

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

于 2019-10-03T04:33:55.827 回答