当我想让光标在 Vim 中移动到文件的末尾(即最后一行的末尾)时,我必须键入六次击键:
<ESC>G$a
- 转换为 ESC + Shiftg + Shift4 + a 在我的键盘布局上。
我怎样才能更有效地做到这一点?
由于我经常在许多不同的机器上工作,我不能总是更改 .vimrc,所以我正在寻找答案而无需编辑或创建该文件。
<esc>G$a
,您通过将字母变为大写来显示移位。并且您显示 $
而不是 shift + 4,因为无论键盘如何,此键 ($
) 的功能都不会改变,但如果您执行 shift + 4,则含义可以改变。 :)
$
在美国键盘上的位置,而且很可能对于美国人来说,输入命令 $
只是一次击键。我想明确地表明,对我来说(使用德语键盘)是两次击键。
这个比较快。就用这个
:$
在执行 a
之前无需显式转到行尾,使用 A
;
在行尾追加文本 [count] 次
<ESC>GA
G)
(如果您处于插入模式并希望在最后一个字符上以正常模式结束,请尝试 <ESC>G)
)。击键次数相同,但以正常模式而不是插入模式结束。当我想在最后一个单词上运行一些普通命令而不是插入模式命令或编辑时,我偶尔会发现这很有用。
)
会向前移动 [count]
个句子,因此如果最后一行是 This is a test. Foo bar.
,则不会走到行尾。不过,它适用于很多代码,这些代码通常不被视为句子,因此无论如何都会走到最后。
<ESC>
G
o
将执行回车并将您置于下一行(在文件末尾)的插入模式,从而节省更多的击键。
G$
。
按 Esc 然后按:Shift + G
对于初学者来说,没有必要返回。 G$
可以。而且您在正常模式命令的长度中计算 <Esc>
和 a
是一种误导。
但是,如果您愿意,可以使用 Ctrl + End。
End
-Key(如果这是您的意思)。
<ESC>
和 a
做得很好,因为他或她知道用 A
替换 Shift+$, a
的方法。
转到顶部 - 双 g
转到底部 - Shift + g
我以为问题是“在vim中将光标移动到文件末尾”?
文件结束:Esc + G
文件开始 Esc + g(或gg
如果您已经在命令区)
转到文件最后一行的最佳方法是使用 G
。这会将光标移动到文件的最后一行。
转到行中最后一列的最佳方法是使用 $
。这会将光标移动到当前行的最后一列。
因此,只需执行 G$
即可到达文件末尾和最后一行。
如果您想在文件末尾进入插入模式,那么您只需执行 GA
。通过这样做,您将转到文件的最后一行,并通过附加到最后一列进入插入模式。 :)
如果您打算写下一行,ESCGo 将执行回车并将您置于下一行(在文件末尾)的插入模式,从而节省更多的击键。
尝试执行 SHIFT + G
,您将在页面末尾,但您还不能编辑。执行 G + G
到顶部
Ctrl + Home = 跳转到文件开头
Ctrl + End = 跳转到文件末尾
您可以将其映射到 .vimrc 中的键,例如 F3
inoremap <F3> <Esc>GA
GA
或 G$
。
C-end
。
我一直在寻找将光标移动到行尾然后在mac终端上编辑的方法,这就是它对我的工作方式。退出编辑模式,输入 g_(即 'g' 然后下划线,前面没有冒号),然后只需按 'a' 键,您就可以将代码“添加”到脚本中
A
?
A
基本上等同于 $a
另一种选择:
:call cursor('.',strwidth(getline('.')))
如果您正在编写函数,这可能很有用。另一种情况是当我需要打开一个特定的模板并跳转到第一行的末尾时,我可以这样做:
vi +"call cursor('.',strwidth(getline(1)))" notetaking_template.txt
以上也可以用
vi +"execute ':normal! $'" notetaking_template.txt
也可以看看:
vim - Get length of the current line
如果要在文件类型的末尾粘贴一些剪贴板内容:
:$ put +
$ ............ last line
put .......... paste
+ ............ clipboard
要转到最后一行并保留您已经在其中的列:Shift + g
在此移动之后转到行尾:Shift + $
我们可以使用 Shift + g + $ 组合这些动作
请记住, g + g 会将您返回到文件的开头。
您所要做的就是按 ESC 然后按 SHIFT G,光标将移动到文件的末尾。
不定期副业成功案例分享