Skjul Vim-sikkerhedskopier (* ~) i Windows Stifinder

Indlæg af Hanne Mølgaard Plasc

Problem



På Windows arbejder jeg normalt med Total Commander, som let kan konfigureres til at ignorere disse *.*~ og *~ fuldstændigt. Men nogle gange når jeg skifter til Windows Explorer, bliver jeg lidt forvirret med alle de 'ukendte' filer/.


Kan jeg oprette Vim, så for hver backup det skaber, vil det også sætte 'skjult' attribut?


Eller opret en god løsning?


Jeg ved, at jeg kan oprette Vim for at sætte disse i andre mapper, men jeg vil gerne undgå det, siden IIUC, det kunne lide at navngive konflikter. [20]

Bedste reference


Hvis indstillingen backup er indstillet, opdaterer vim backupfilen hver gang vi skriver filen med :w. Og hver gang skaber den en fil, der ikke er skjult, selv om du med tvang havde skjult det tidligere! Så vi skal gøre noget hver gang vi skriver buffer i fil.


Du kan gøre dette på vinduer. I din \_vimrc fil (generelt fundet på C:Program Files (x86)Vim), tilføj denne linje


autocmd BufWritePost,FileWritePost * silent ! attrib +h <afile>~


Hvor,


attrib=Windows File attribute changinf command
<afile>= Name of the file being sourced
silent= Prevent an annoying command window from popping up and asking user to press a key


Dette sikrer, at backupfilen gemmes med hver skriv til fil fra buffer. Hvorfor hver gang? Cos vim opretter en ikke-skjult fil ved hver skriv!


Men du skal leve med et blinkende sort vindue (kommandovindue hvor vi kører attrib kommando) hver gang du gemmer din fil, men værd at smerten :)


På Linux/Unix-systemer kan du tilføje dette i din .vimrc


autocmd BufWritePost,FileWritePost * silent ! mv <afile>~ .<afile>


Håber dette hjælper alle dem, der forsøger at finde, hvordan man gemmer vim backup filer.

Andre referencer 1


Jeg skrev et plugin til dette engang tilbage kaldet autohide. Det fungerer ved at sætte den 'skjulte' attribut efter skrive som foreslået i Pavans svar. Som standard gør det kun dette for swapfiler, viminfo og vedholdende fortrydelsesfiler, du kan kun gemme backupfiler ved at konfigurere let g:autohide\_file\_list='b']] i din .vimrc, eller tilføj det til standardlisten i stedet med 'suvb' i stedet for bare 'b'. [21]


Fordele ved den manuelle metode i Pavans svar omfatter håndtering af yderligere filtyper, vilkårlig filmønstre (som dotfiles) og en vis fejlhåndtering (især relateret til langsomme netværksaktier, der ikke tillader indstilling af attributter med det samme efter oprettelse af en fil) .

Andre referencer 2


Jeg har dette i min \_gvimrc:


set nobackup


Ingen sikkerhedskopierede filer genereres i første omgang.
Men swapfilen (.*.swp) genereres stadig under redigering (og slettes, når du lukker Vim). Så hvis din computer går i stykker, kan du stadig gendanne dine ændringer.