Van egy testfile.xml fájlom, amelyet a Vim segítségével szeretnék megnyitni és parancs módban törölni
Megjegyzések
Válasz
Számos módszer létezik:
-
Az interaktív shell használata a vimben
Amikor a szerkesztőben van –
:sh rm textfile.xml
-
A Bang (!) használata
Ahogy DopeGhoti javasolta –
:!rm textfile.xml
-
Adja hozzá ehhez: a
~/.vimrc
command! -complete=file -nargs=1 Remove :echo "Remove: "."<f-args>"." ".(delete(<f-args>) == 0 ? "SUCCEEDED" : "FAILED")
Ezután a VIM-ben
:Remove testfile.xml
-
Ismét ugyanazon linkről a # 3-ban
Használja ezt a parancsot:
:call delete(expand("%")) | bdelete!
Válasz
A fájlok interaktív törlésének másik módja a
:E
vagy
:Ex
a fájlkönyvtár ex (ploring) használatához. Itt van egy interaktív ablak, amely végigvezeti Önt. Miután kiválasztotta a törölni kívánt bejegyzést, használja a
Shift-D
megerősítést a következővel:
y return
Így néz ki az ablakom tetején, explorer módban:
" ============================================================================ " Netrw Directory Listing (netrw v140) " C:\Users\cbkrd\Desktop " Sorted by name " Sort sequence: [\/]$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$ " Quick Help: <F1>:help -:go up dir D:delete R:rename s:sort-by x:exec " ============================================================================
Megjegyzések
-
:E
a következőket eredményezte:E464: Ambiguous use of user-defined command
, de a:Ex
jól működött.
Válasz
A fájl ideiglenes törlése
:!rm %
%
az éppen megnyitott fájl
Ctrl + Z , leállítja a folyamatot
ellenőrizze a következővel: ls
, a fájl már nincs a lemezen
fg
visszahozza a fájlt a vim-re
elmentheti a szokásos vim parancsok használatával
Válasz
Ahogy Yash állítja: sokan vannak módokon. De a legrövidebb,
:echo delete(@%)
csak rejtve jelenik meg, csak a Yash linkjének végén:
Nem értem, miért használnád az összes parancsot és funkciót.
Miért ne
:echo delete(filename)
? Vagy ha törölni akarja a fájlt és a törlési puffert, ami azt hiszem, nagyon ritkán fordul elő, akkor írjon:echo delete(@%)
, és ha sikeres –:bw!
.
A következővel: echo
(call
helyett ) közvetlenül az eredményt látja, 0 vagy -1.
:!rm %
a @Justin írta valószínűleg ugyanaz, de van egy képernyőkapcsoló és a “már nem elérhető” üzenet – delete()
esetén simább.
És nem értem, mi rm
itt szűrés van …
Az egész ötletnek többnyire van értelme, ha egy csomó fájlt szeretne rendezni:
vim $(find -size -100c -type f)
Ha törölni szeretne / megtartana néhány ilyen kis fájlt. :n[ext]
átfuttathatja rajtuk, és közvetlenül törölheti őket . A :echo delete(@%)
-et talán csak ideiglenesen kell feltérképezni, mert veszélyes. Elvesztettem egy súgófájlt, és átneveztem egy másik, miközben kísérletezik a “%” -val.
:!rm testfile.xml
?vi
nem a fájl törlésének eszköze, arm
és afind
nem csak biztonsági mentési eszköz.