在 vim 编辑器中显示当前文件大小

在 vim 编辑器中显示当前文件大小

我大量使用 Vim 来编辑和处理我的文件,现在我开始打开大文件,直接从 VIM 本身查看文件大小会很有用。

有没有办法在 vim 中显示当前文件大小?

目前我正在做的事情:

:!ls -lah %

是否有内部方式来显示当前文件大小?

答案1

点击g CTRL-g即可在状态行中查看当前文件的一些统计信息,包括文件大小。

答案2

是的,有一种内部方法可以显示当前文件大小。

一个简单的方法如下:

:echo getfsize(expand(@%))

或者更详细一点,如下所示:

:echo 'Size of ' @% ' file is ' getfsize(expand(@%)) ' bytes'

或者,您可以将其放入函数中并分配一个键绑定(映射)以方便访问。如下所示:将以下代码放入您的 vimrc 文件中:

function! GetFilesize(file)
        let size        =        getfsize(expand(a:file))
        echo 'Size of ' a:file ' is ' size ' bytes'
endfunction

map <leader>s :call GetFilesize(@%)<CR>

在控制模式下,按 \s(假设 <leader> 设置为反斜杠)。

答案3

添加到在状态行中.vimrc以人类可读的格式显示文件大小(例如):11.8KB

set statusline+=%{FileSize(line2byte('$')+len(getline('$')))}

function! FileSize(bytes)
  let l:bytes = a:bytes | let l:sizes = ['B', 'KB', 'MB', 'GB'] | let l:i = 0
  while l:bytes >= 1024 | let l:bytes = l:bytes / 1024.0 | let l:i += 1 | endwhile
  return l:bytes > 0 ? printf(' %.1f%s ', l:bytes, l:sizes[l:i]) : ''
endfunction

相关内容