当我想在Vim中把光标移到文件的末尾(即最后一行的末尾)时,我必须键入6个按键:
<ESC>G$a -在我的键盘布局上转换为ESC + Shiftg + Shift4 + a。
我怎样才能更有效地做到这一点呢?
由于我经常在许多不同的机器上工作,我不能总是更改.vimrc,所以我在不编辑或创建该文件的情况下寻找答案。
当我想在Vim中把光标移到文件的末尾(即最后一行的末尾)时,我必须键入6个按键:
<ESC>G$a -在我的键盘布局上转换为ESC + Shiftg + Shift4 + a。
我怎样才能更有效地做到这一点呢?
由于我经常在许多不同的机器上工作,我不能总是更改.vimrc,所以我在不编辑或创建该文件的情况下寻找答案。
当前回答
另一个选择:
: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将返回到文件的开头。
您可以将它映射到.vimrc中的一个键,例如F3
inoremap <F3> <Esc>GA
这样比较快。就用这个
:$
如果您计划写下一行,ESCGo将执行回车,并将您置于插入模式下一行(在文件的末尾),从而节省几次按键。
在做a之前不需要显式地走到行尾,使用a; 在行[count]次的末尾追加文本
< ESC GA