这听起来似乎微不足道,但在不止一次的情况下,我发现自己忘记了vim
打开的文件(例如,当我查看不同的日志文件时),而我唯一知道如何找出方法就是关闭文件,然后在命令历史记录中查找最新命令。
vim中是否有命令告诉您当前打开了哪个文件而不退出程序或打开的文件(例如:<which_file_cmd>
?)
这听起来似乎微不足道,但在不止一次的情况下,我发现自己忘记了vim
打开的文件(例如,当我查看不同的日志文件时),而我唯一知道如何找出方法就是关闭文件,然后在命令历史记录中查找最新命令。
vim中是否有命令告诉您当前打开了哪个文件而不退出程序或打开的文件(例如:<which_file_cmd>
?)
Answers:
如果您可以拥有默认的vim配置文件,则可以添加statusline
以始终提供文件详细信息。我知道,如果您不断将远程服务器迁移到其他服务器,将不会有太大帮助。这是我的.vimrc文件中有些复杂的文件。
" %F(Full file path)
" %m(Shows + if modified - if not modifiable)
" %r(Shows RO if readonly)
" %<(Truncate here if necessary)
" \ (Separator)
" %=(Right align)
" %l(Line number)
" %v(Column number)
" %L(Total number of lines)
" %p(How far in file we are percentage wise)
" %%(Percent sign)
set statusline=%F%m%r%<\ %=%l,%v\ [%L]\ %p%%
" Change the highlighting so it stands out
hi statusline ctermbg=white ctermfg=black
" Make sure it always shows
set laststatus=2
在MacVim中看起来像这样(但也可以在终端中使用)。
与往常一样,您可以:help statusline
获取更多选择和详细信息。并查看“ 学习Vim困难之路 ch 17”,以更好地了解状态线。
有无数种获取此类信息的方法,但是如果您想要一些东西,只需要按一个键即可显示文件名,然后将以下内容插入您的~/.vimrc
:
map <F4> <ESC>:file<CR>
这说
bind the `F4' key to the following sequence: Escape-key, :file, Carriage-Return (enter-key)
file
很明显,该命令将返回当前文件的名称以及其他信息。
您还可以设置一个状态行,这样您除了外观外无需做任何事情。
要保持状态行,请始终将以下内容插入您的~/.vimrc
:
set laststatus=2
这告诉ViM始终显示状态行,其他选项是0
,永远不会显示,并且1
仅当您在ViM中打开两个或多个窗口时才显示。
我通常只输入:e
文字,这也会显示完整的文件路径以及行数和字符数。
警告:它将从磁盘上重新打开文件,因此,当文件已保存时,它最有用。
:help :e
说:
*:e* *:edit* Edit the current file. This is useful to re-edit the current file, when it has been changed outside of Vim. This fails when changes have been made to the current buffer and 'autowriteall' isn't set or the file can't be written.
vim
使用那么多的arg进行调用,请使用:args
。