打开文件钩子将光标移动到缓冲区/文件末端

时间:2015-05-10 13:00:16

标签: vim

如何编写一个钩子函数,在打开文件时将光标放在文件的末尾。

在elisp中,它看起来大致如此,

(add-hook 'open-buffer-hook
      (lambda () (end-of-buffer)))

在vim中,我可以打开一个文件然后按:$结束,但我很想通过钩子进行操作。

2 个答案:

答案 0 :(得分:1)

使用autocmd,您可以挂钩BufReadPost并在正常模式下执行类似G$的内容,以前进到最后一行和最后一个字符。

autocmd BufReadPost * :normal G$

我使用BufReadPost使该命令在文件完全读入缓冲区后运行。 *将此规则应用于所有缓冲区类型,但您可以将其限制为FileType或文件名模式。有关详细信息,请参阅:help autocmd

答案 1 :(得分:1)

自动命令对我来说似乎太过分了。

在你的shell中,

$ vim file +$

在Vim中打开file并跳转到最后一行。

在Vim,

:edit +$ file

打开file并跳转到最后一行。

这适用于其他相关命令,例如:vsplit:tabedit