我知道CTRLg会显示您正在处理的当前文件。有没有办法修改我.vimrc
的文件名/路径始终显示?
Answers:
在状态行中,添加%F
以显示完整路径:
:help statusline
" Add full file path to your existing statusline
set statusline+=%F
注意,%F
将是完整路径。要获取相对于工作目录的路径,请使用%f
。
如果状态行尚不可见,则可能需要先通过以下方式将其配置为始终可见 laststatus=2
set laststatus=2
请参阅:help laststatus
选项的含义。通常,状态行可能是隐藏的,也可能是隐藏的,除非打开了多个缓冲区,但是我发现一直这样进行自定义非常有用,值得为此放弃一个屏幕行。
:set statusline=%F
不用了+
:set statusline=%F
吗?向右或向左看,以查看文件名是否隐藏在状态栏中
set laststatus=2
可以使状态栏始终保持可见状态。我忘记了。
设置ls = 2
在vimrc中添加此文件,您将始终在底部看到文件名。
set modeline
有点危险,与这个问题无关。它允许在文件的5个开始/结束行中执行Vim命令。只有知道原因并真正想要这样做的人才能打开它。(这就是为什么我-1这个答案)
我发现了两种用Vim编辑文件时在gnome终端的标题栏中显示文件路径的方法。
更简单(更好)的方法:将以下行添加到您的~/.vimrc
:
set title
这将在顶部显示您:
filename.ext (~/path_to_directory_where_your_file_is/) - VIM
更复杂的方法将向您显示绝对文件路径。它记录了更详细一点在这个博客帖子我最近写了。
我发现获取正在使用的文件的完整路径的唯一方法是::echo expand('%:p')
。您可以根据需要重新映射ctrl + g,但我个人不希望过多地偏离标准。我已经像这样映射了F7:
map <F7> <Esc>:echo expand('%:p')<Return>
:help CTRL-G
,然后CTRL-G
用count 向下看两段。
1 CTRL-G
显示完整的文件名。我正在搜索此选项。
~
。
如果您正在使用vim-airline,请输入.vimrc
:
let g:airline_section_c = '%<%F%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#'
这是航空公司默认设置的修改,更改%f
为%F
。
我认为状态栏非常强大且方便。开箱即用的海峡将显示文件名,光标位置和一些标志。但是,您想要像我一样,将文件名 -part 替换为文件的完整路径。
因此,在编辑我的.vimrc
状态栏时,默认情况如下所示:
.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
似乎并没有满足您的要求。尽管文档肯定与您同意...