我知道CTRLg可以显示您正在工作的当前文件。是否有一种方法可以修改我的.vimrc
,以便始终显示文件名/路径?
在您的状态栏中添加 %F
以显示完整路径:
:help statusline
" Add full file path to your existing statusline
set statusline+=%F
注意,%F
将是完整路径。要获取相对于工作目录的路径,请使用%f
。
如果您的状态栏尚未可见,您可能需要通过laststatus=2
将其配置为始终可见。
set laststatus=2
查看:help laststatus
以了解选项的含义。通常情况下,状态栏可能会被隐藏,或者仅在打开多个缓冲区时才会显示,但是我发现将其始终保持开启并进行自定义非常有用,值得为此舍弃一行屏幕空间。
将 "set ls=2" 加入 vimrc 配置文件,就可以在底部始终看到文件名。
我找到了两种方法,在使用Vim编辑文件时在gnome-terminal的标题栏中显示文件路径。
更简单(也更好)的方法:将以下行添加到您的~/.vimrc
文件中:
set title
这将在顶部显示:
filename.ext (~/path_to_directory_where_your_file_is/) - VIM
更复杂的方法将显示您的绝对文件路径。在我最近撰写的博客文章中有更详细的说明。
.vimrc
文件中:let g:airline_section_c = '%<%F%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#'
这是对航空公司默认设置的修改,将%f
改为%F
。
我发现获取正在操作文件的完整路径的唯一方法是::echo expand('%:p')
。如果您想要重新映射ctrl+g,那么可以这样做,但我个人不太喜欢过多地偏离标准。我已将F7映射为以下内容:
map <F7> <Esc>:echo expand('%:p')<Return>
:help CTRL-G
,并向下滚动两段以查找带计数的 CTRL-G
。 - Stefan Majewsky1 CTRL-G
显示完整文件名。我一直在寻找这个选项。 - Anton Kiselev我一直使用:f
,但是来自@MichaelBerkowski的答案和链接非常好!
:f
会显示路径、行数、修改状态、当前光标位置等等...
我不知道CTRLG,但它似乎差不多。
.vimrc 26,16 7%
您可以使用以下命令查看状态栏的设置:
:set statusline?
但是如果您没有进行任何修改,并且没有模块更改它,它将为空。但是在帮助部分的示例(:help statusline
)中,您可以发现默认值为:
:set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P
所以,请将以下内容加入您的.vimrc
文件,并将%f
更改为%F
。我还在我的状态栏中添加了文件类型标志(%y
),因为我发现它很方便。因此,我的最终配置如下:
:set statusline=%<%F\ %h%m%r%y%=%-14.(%l,%c%V%)\ %P
~/.vimrc [vim] 26,16 7%
精彩阅读:
PS. 我使用vim 7.3
set statusline +=%{resolve(expand('%:p'))}\ %*
fnamemodify
。set statusline +=%{fnamemodify(resolve(expand('%:p')),':~')}\ %*
set statusline+=%F
添加到我的~/.vimrc
中似乎并没有做到你所说的。虽然文档确实支持你的观点... - Tim Pote:set statusline=%F
而不要加上+
。 - Michael Berkowskiset laststatus=2
命令,让状态栏一直可见。我之前忘记了这个设置。 - Michael Berkowski