我怎样才能在Vim中永久显示当前文件的path?
我知道CTRL g显示当前正在处理的文件。 有没有办法修改我的.vimrc
文件名/path总是显示?
在您的状态行中,添加%F
以显示完整path:
:help statusline " Add full file path to your existing statusline set statusline+=%F
请注意, %F
将是完整path。 要获取相对于工作目录的path,请使用%f
。
如果您的状态行不可见,您可能需要首先通过laststatus=2
将其configuration为始终可见
set laststatus=2
请参阅:help laststatus
的选项是什么意思。 通常情况下,除非打开多个缓冲区,否则状态行可能是隐藏的或隐藏的,但是我觉得非常有用的做法是像这样定制化,非常值得放弃一个屏幕行保留。
设置ls = 2
在vimrc中添加这个,你会在底部看到文件名。
我发现有两种方法在用Vim编辑文件时在gnome-terminal的标题栏中显示文件path。
更简单(更好)的方法:将下面一行添加到~/.vimrc
:
set title
这将显示在顶部:
filename.ext (~/path_to_directory_where_your_file_is/) - VIM
更复杂的方式将显示绝对文件path。 在我最近写的博客文章中有更详细的logging 。
我发现获取我正在工作的文件的完整path的唯一方法是:echo expand('%:p')
。 你可以重新映射ctrl + g,但是我个人不喜欢远离标准太多。 我已经像这样映射了F7:
map <F7> <Esc>:echo expand('%:p')<Return>
我一直使用:f
,但@MichaelBerkowski的答案和链接是惊人的!
:f
显示path,行数,修改状态,当前光标位置等…
我不知道CTRL G,但看起来差不多。
状态线是非常强大和方便,我认为。 海峡开箱即显示文件名,光标位置和一些标志。 但是你想和我一样做,并用文件的完整pathreplace文件名 –部分。
所以,当编辑我的.vimrc
我的statusline可以看起来像这样的默认值:
.vimrc 26,16 7%
您可以查看您的状态行的设置:
:set statusline?
但是,如果你没有做任何改动,也没有模块改变它,那将是空的。 但通过帮助部分( :help statusline
)中的示例,您可以发现缺省值为:
:set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P
因此,将其包含在.vimrc
,并将%f
更改为%F
。 我还添加了文件types标志( %y
)到我的状态行,因为我觉得很方便。 所以我得到的configuration如下所示:
:set statusline=%<%F\ %h%m%r%y%=%-14.(%l,%c%V%)\ %P
结果看起来像这样:
~/.vimrc [vim] 26,16 7%
良好的阅读:
- 文档
- 一本很好的书来学习基础知识
- 这里有很多在stackoverflow!
PS。 我运行vim 7.3
如果您使用的是vim-airline ,请input.vimrc
:
let g:airline_section_c = '%<%F%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#'
这是对航空公司默认值的修改,将%f
改为%F
。
如果您希望path包含已parsing的符号链接,请使用以下命令:
set statusline +=%{resolve(expand('%:p'))}\ %*
要保留主目录的'〜'缩写,请包含fnamemodify
set statusline +=%{fnamemodify(resolve(expand('%:p')),':~')}\ %*