Hoe kan ik permanent display het pad van het huidige bestand in Vim?

Ik weet, CTRLg laat het huidige bestand dat u aan het werk bent. Is er een manier om het wijzigen van mijn .vimrc zodanig dat de bestandsnaam/pad wordt altijd weergegeven?

InformationsquelleAutor zallarak | 2012-05-07

 

8 Replies
  1. 126

    In je statusline, voeg een %F om het volledige pad:

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

    Opmerking, %F wordt het volledige pad. Om een pad in vergelijking met de werkmap, gebruikt u %f.

    Als je statusline nog niet zichtbaar is, is het mogelijk dat u nodig hebt om het te configureren altijd zichtbaar, via laststatus=2

    set laststatus=2
    

    Zie :help laststatus voor wat de opties betekenen. Normaal gesproken, de statusline kunnen worden verborgen of verborgen, tenzij meerdere buffers zijn open, maar ik vind het zeer handig om de hele tijd met aanpassingen zoals deze, de moeite waard om het een scherm line reserveren voor.

    • Ik heb wel liever uw antwoord aan mij, maar het toevoegen van set statusline+=%F mijn ~/.vimrc lijkt niet te doen wat je zegt. Hoewel de documenten zeker lijkt het met u eens…
    • Dit had geen effect. Excuses als ik iets mis en eenvoudig, heb je een mening over dat?
    • Wat vim versie? Voor mij werkt. Misschien is je statusline is al duwen uit of het beperken van de breedte. Probeer gewoon :set statusline=%F zonder de +
    • Zie mijn reactie op Tim. Heeft uw statusline wijzigen als u gewoon doen :set statusline=%F? Kijk naar rechts of links om te zien of de bestandsnaam is het verbergen van meer dan er in de statusline
    • versie 7.3.353. :set statusline=%F doet niets als goed. Laat me sporen van mijn huidige statusline instellingen.
    • Misschien set laststatus=2 te houden van de statusline zichtbaar. Ik ben vergeten dat ik dat had op.
    • Ah, ik zie het al. Het is niet in de standaard regel dat toont de regel/kolom nummer, enz.
    • Dat is de heerser, de statusline is een veel robuuster en staat. stackoverflow.com/questions/5375240/…
    • Zoet. +1 voor het brengen van de statusline dan.
    • Ik geloof dat een aantal vim-extensies zullen stelen van de statusline (bijv. syntastic) voor eigen gebruik, dus het gebruik van set title als in één van de andere antwoorden zou beter zijn voor sommige mensen.

  2. 18

    set ls=2

    toevoegen in dit vimrc,
    en ziet u de bestandsnaam aan de onderkant altijd.

    • stel modeline niet alles voor mij doen, wat veronderstel is om te doen? (set ls=2 deed iets doen alsof). Hoe krijg ik man/help om dit uit te zoeken op mijn eigen de volgende keer? Bedankt! 🙂
    • set modeline is een beetje gevaarlijk en heeft niets te maken met de vraag. Het maakt de uitvoering van Vim commando ‘ s in de 5 begin/einde lijnen van een bestand. Het moet worden ingeschakeld, die weet waarom en dit echt willen. (Dat is waarom ik -1 dit antwoord)
  3. 16

    Ik vond 2 manieren worden weergegeven, het pad naar het bestand in de titelbalk van de gnome-terminal tijdens het bewerken van een bestand met Vim.

    Het eenvoudiger (en betere) manier: Voeg de volgende regel aan uw ~/.vimrc:

    set title
    

    Die zal u tonen aan de top:

    filename.ext (~/path_to_directory_where_your_file_is/) - VIM
    

    De meer ingewikkelde manier zal u tonen het absolute pad. Het is gedocumenteerd in iets meer detail in deze blog post ik onlangs schreef.

    • De “titel” zal tonen de naam van het bestand op de terminal tabblad. Interessante functie.
    • Interessant als het is, geeft geen antwoord op de vraag. Ook jij zegt het is beter – maar het kan niet. Bijvoorbeeld als u uw vim is geopend in de terminal, die in de modus volledig scherm, de titel is niet zichtbaar. Dus downvote.
  4. 7

    De enige manier die ik gevonden om het volledige pad van het bestand dat ik aan het werk ben in is: :echo expand('%:p'). U kunt re-kaart ctrl+g als u wilt, maar ik persoonlijk hou niet verschuift van de normen te veel. Ik heb toegewezen F7 zo:

    map  <F7> <Esc>:echo expand('%:p')<Return>
    
    • :help CTRL-G, en kijken twee alinea ‘ s omlaag voor CTRL-G met tellen.
    • Bedankt, @StefanMajewsky. 1 CTRL-G volledige bestand. Ik was op zoek naar deze optie.
    • Ik hou van u en Tim, dit is de enige manier om absoluut toon absolute pad, zelfs zonder ~.
  5. 6

    Ik heb altijd gebruikt :f, maar het antwoord en links van @MichaelBerkowski zijn geweldig!

    :f toont het pad lijn te tellen, aangepast status, huidige positie van de cursor, en meer…

    Ik wist niet dat over CTRLG, maar het is ongeveer hetzelfde.

  6. 5

    De statusline is zeer krachtig en handig denk ik. Straat uit de doos zal het display de bestandsnaam, de positie van de cursor en een aantal vlaggen. Maar u wilt om hetzelfde te doen als mij en vervang de bestandsnaam-deel met de volledige pad naar het bestand.

    Dus tijdens het bewerken van mijn .vimrc mijn statusline zou kunnen uitzien als standaard:

    .vimrc                                                        26,16           7%
    

    Kon je je instelling van de statusline met:

    :set statusline?
    

    Maar als je geen aanpassingen en geen module is gewijzigd zou worden leeg is. Maar door het voorbeeld in het help-sectie ( :help statusline ), zou u kunnen vinden dat de standaard is:

    :set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P
    

    Dus neem deze in uw .vimrc en wijzigen %f te %F. Ik heb ook nog toegevoegd het bestandstype vlag (%y) om mijn statusline omdat ik het handig vinden. Dus mijn resulterende configuratie er als volgt uitziet:

    :set statusline=%<%F\ %h%m%r%y%=%-14.(%l,%c%V%)\ %P
    

    En het resultaat zou er ongeveer zo uitzien:

    ~/.vimrc [vim]                                                26,16           7%
    

    Goed lezen:

    PS. Ik ren vim 7.3

  7. 5

    Als u vim-luchtvaartmaatschappij, in .vimrc:

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

    Dit is een wijziging van de luchtvaartmaatschappij de standaard, het veranderen van %f door %F.

  8. 4

    Als u wilt dat het pad naar behoren opgelost symlinks, gebruik je het volgende:

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

    Te houden van de ‘~’, de afkorting voor uw home directory, zijn fnamemodify

    set statusline +=%{fnamemodify(resolve(expand('%:p')),':~')}\ %*
    
    • Beide van deze werkte voor mij in VIM 7.4 gebruik van iTerm2 van SSH in Ubuntu LTS 16.04

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *