web-dev-qa-db-ja.com

Vimで現在のファイルのパスを永続的に表示するにはどうすればよいですか?

知っている CTRLg 作業中の現在のファイルを表示します。ファイル名/パスが常に表示されるように.vimrcを変更する方法はありますか?

86
zallarak

ステータスラインに%Fを追加して、フルパスを表示します。

:help statusline

" Add full file path to your existing statusline
set statusline+=%F

注、%Fがフルパスになります。作業ディレクトリからの相対パスを取得するには、%fを使用します。

ステータスラインがまだ表示されていない場合は、最初にlaststatus=2経由で常に表示されるように設定する必要があります

set laststatus=2

オプションの意味については、:help laststatusを参照してください。通常、ステータスラインは非表示、または複数のバッファーが開いていない限り非表示になりますが、このようなカスタマイズを常に行うことは非常に便利で、1つの画面行の予約を放棄する価値があります。

125

ls = 2を設定

これをvimrcに追加すると、常に下部にファイル名が表示されます。

18
SD.

Vimでファイルを編集しているときに、gnome-terminalのタイトルバーにファイルパスを表示する2つの方法を見つけました。

より簡単な(より良い)方法:~/.vimrcに次の行を追加します。

set title

上部に表示されます:

filename.ext (~/path_to_directory_where_your_file_is/) - VIM

より複雑な方法では、絶対ファイルパスが表示されます。 このブログ投稿でもう少し詳しく説明されています 私は最近書きました。

16
sampson-chen

作業中のファイルの完全なパスを取得する唯一の方法は、:echo expand('%:p')です。必要に応じてctrl + gを再マップできますが、個人的には標準からあまり離れることは好きではありません。 F7を次のようにマッピングしました。

map  <F7> <Esc>:echo expand('%:p')<Return>
7
Tim Pote

私はいつも:f、@ MichaelBerkowskiからの回答とリンクはすごいです!

:fは、パス、行数、変更状態、現在のカーソル位置などを表示します...

知らなかった CTRLG しかし、それはほぼ同じように見えます。

6
jahroy

vim-airline を使用している場合は、.vimrc

let g:airline_section_c = '%<%F%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#'

これは航空会社のデフォルトの変更であり、%f 沿って %F

5
phcerdan

ステータスラインは非常に強力で便利だと思います。箱から出してすぐに、ファイル名、カーソル位置、いくつかのフラグが表示されます。しかし、私と同じことをして、filename-partをfull pathファイルに。

したがって、私の.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を実行します

5
UlfR

パスに解決済みのシンボリックリンクを含める場合は、次を使用します。

set statusline +=%{resolve(expand('%:p'))}\ %*

ホームディレクトリの「〜」略語を保持するには、fnamemodifyを含めます

set statusline +=%{fnamemodify(resolve(expand('%:p')),':~')}\ %*
4
joelostblom