当我希望光标在 Vim 中转到文件末尾(即最后一行的末尾)时,我必须输入六次按键:
<ESC>G$a
- 在我的键盘布局上翻译为 ESC + Shiftg + Shift4 + a。
我怎样才能更有效地做到这一点?
由于我经常在许多不同的机器上工作,所以我不能总是更改 .vimrc,所以我正在寻找答案,而不必编辑或创建该文件。
这样更快。就用这个吧
:$
点击 Esc,然后按:Shift + G
转到顶部 - 双g
转到底部 - Shift + g
对于初学者来说,不需要退货。
G$
就可以了。并且您在正常模式命令的长度中计算 <Esc>
和 a
会产生误导。
但是,如果您愿意,可以使用 Ctrl + End。
我以为问题是“在 vim 中将光标移至文件末尾”?
文件结束: Esc + G
文件开始 Esc + g(或
gg
,如果您已位于命令区域)
转到文件最后一行的最佳方法是使用
G
。这会将光标移动到文件的最后一行。
转到该行最后一列的最佳方法是使用
$
。这会将光标移动到当前行的最后一列。
因此只需执行
G$
即可到达文件末尾和最后一行。
如果您想在文件末尾进入插入模式,那么您只需执行
GA
即可。通过执行此操作,您将转到文件的最后一行,并通过附加到最后一列来进入插入模式。 :)
尝试执行
SHIFT + G
,您将到达页面末尾,但您还无法编辑。通过执行G + G
到达顶部
如果您打算编写下一行,ESCGo将执行回车并让您在下一行(在文件末尾)进入插入模式,从而节省更多的击键次数。
Ctrl + Home
= 跳转到文件开头Ctrl + End
= 跳转到文件末尾您所要做的就是按 ESC 然后按 SHIFT G,光标将移动到文件末尾。
您可以将其映射到 .vimrc 中的某个键,例如 F3
inoremap <F3> <Esc>GA
另一种选择:
:call cursor('.',strwidth(getline('.')))
如果您正在编写函数,这可能很有用。 另一种情况是当我需要打开特定模板并跳转到第一行末尾时,我可以这样做:
vi +"call cursor('.',strwidth(getline(1)))" notetaking_template.txt
以上也可以用
来完成vi +"execute ':normal! $'" notetaking_template.txt
另请参阅:
要转到最后一行并保留您所在的列: Shift + g
要在此移动后转到行尾:Shift + $
我们可以使用 Shift + g + $ 组合这些动作
请记住,g + g 将使您返回到文件的开头。
我一直在寻找将光标移动到行尾然后在 Mac 终端上进行编辑的方法,这就是它对我的作用。退出编辑模式,输入 g_(即“g”,然后是下划线,前面没有冒号),然后只需按“a”键,这样您就可以将代码“添加”到脚本中
如果您想在文件末尾粘贴一些剪贴板内容,请输入:
:$ put +
$ ............ last line
put .......... paste
+ ............ clipboard
我还没有看到发布的另一种方法是:
[[
转到文件开头
]]
转到文件末尾