Skip to content
Tiantan
Articles

Hur kan jag lämna skrivskyddat läge i Vim?

On februari 18, 2021 by admin

Jag öppnade en fil i skrivskyddat läge; finns det ett sätt att komma ur läsbart läge?

Kommentarer

  • Vilka är begränsningarna i läsläge som stör dig? Om det ' bara är att du vill skriva filen, även om du öppnar den skrivskyddad, lägger du till en ! till w -kommandot gör tricket, som Michael uppgav.
  • @ user1129682 det ' är bara besväret med att komma ihåg att sätt ett utropstecken efter w varje gång jag vill spara. heh
  • Svaret skulle vara annorlunda beroende på orsaken till att redigeraren hamnar i skrivskyddat läge.

Svara

Du kan göra detta:

:set noro 

Som avaktiverar skrivskyddad flagga, men om den underliggande filen är fortfarande inte skrivbar av dig, då kommer vim fortfarande inte att kunna skriva till den.

Kommentarer

  • hur man vänder detta och går tillbaka att bara läsa?
  • @LouisHong Mycket enkelt: :set ro.
  • Detta är perfekt för om du öppnar en skrivbar fil med view men besluta sedan att redigera den.
  • Det omvända kan också vara användbart. Till exempel psql har ett metakommandot (\ev) för att redigera en SQL-vy, som öppnar vim för att skriva. Men om jag vill se till att jag inte ' inte ändrar vyn (i produktion!) Kan jag omedelbart :set ro. 🙂

Svar

Du kan köra chmod inifrån vim:

:!chmod +w % 

! betyder att köra ett skalkommando och % är det aktuella filnamnet. Du kan också bara tvinga filen att skriva:

:w! 

Svar

Dessutom till Michael Mrozeks svar kan du lägga till en rad i ditt .vimrc som låter dig skriva till en fil att du har försummat att öppna med förhöjda behörigheter:

" Allows writing to files with root priviledges cmap w!! w !sudo tee % > /dev/null

Om filen är skrivskyddad, behöver du bara ange : w ! ! , du kommer att bli ombedd att ange ditt lösenord och sedan skrivs filen till.

Svar

Medan :set noro gör jobbet, kontrollerar det inte om filen öppnas av en annan vim-instans eller uppdaterar filen om den ändras externt.

För att göra det redigerbart och kontrollera om du vill byta filer (vilket är standard som öppnar en fil med vim) använder du bara kommandot edit (: help edit):

:e 

Observera att om filen har manipulerats sedan dess (även utanför vim) kommer den att uppdatera ändringarna i den aktuella bufferten (vilket jag tycker är normalt önskvärt).

Svar

Här går jag, även om det är lite sent, kanske har du redan löst din tvivel;) Jag har inte sett in någon av kommentarerna som jag känner till med vim , så jag lägger till det:

När du redigerar du en fil trycker du på :w eller :wq och du ser det irriterande meddelandet ” E45 ”läsbart” alternativ är inställt (lägg till! för att åsidosätta) ”

E45-läsbart alternativ är inställt (lägg till! För att åsidosätta)

Du kan skriva

:w !sudo tee % 

w! sudo tee%

  • w skriver bufferten,
  • !sudo kallar skalet med sudo,
  • tee omdirigerar utdata från vim :w till utgången med tee, och
  • är det aktuella filnamnet

Och det borde göra tricket. Observera att detta kommer att uppmanas att ladda om filen i vim, för vad du måste trycka på L

ange bildbeskrivning här

Svar

Prova den här:

vim -R "filename" 

det öppnas i skrivskyddat läge, gör bara det här kommandot: q

Jag försökte och det fungerade för mig

Kommentarer

  • Tyvärr. Jag har ingen aning om vad du säger.

Svar

Försök använda sudo. Som root måste du öppna filen. Sudo är ett kommando där du kan begära tillstånd från Linux.

t.ex.

 sudo vim "filename"  

Kommentarer

  • Detta har ingenting att göra med behörigheter eller behörigheter.Dessutom bör du aldrig använda sudo för att köra en redigerare; använd istället sudoedit.

Written by admin

Lämna ett svar Avbryt svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Senaste inläggen

  • Med hjälp av en balun med en resonansdipol
  • Vad är skillnaden mellan “ kan inte ” och “ kan inte ”? [duplicera]
  • På JFK, kan du flytta mellan terminalerna på sidan om inrikesflyg?
  • “ Uppskattat djupt ” eller “ uppskattade ”
  • Vad betyder ' abstrakta idéer '? [stängd]

Arkiv

  • februari 2021
  • januari 2021
  • december 2020
  • november 2020
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어

Copyright Tiantan 2021 | Theme by Theme in Progress | Proudly powered by WordPress

Back to top