Mám soubor testfile.xml, který chci otevřít pomocí Vim a smazat v příkazovém režimu
Komentáře
odpověď
Existuje mnoho způsobů:
-
Použití intercativního prostředí ve vimu
V editoru –
:sh rm textfile.xml
-
Používání Bang (!)
Jak navrhl DopeGhoti –
:!rm textfile.xml
-
Z tohoto odkazu .
Přidat do vaše
~/.vimrc
command! -complete=file -nargs=1 Remove :echo "Remove: "."<f-args>"." ".(delete(<f-args>) == 0 ? "SUCCEEDED" : "FAILED")
Potom ve vimu
:Remove testfile.xml
-
Znovu ze stejného odkazu ve # 3
Použijte tento příkaz:
:call delete(expand("%")) | bdelete!
Odpověď
Dalším způsobem, jak interaktivně mazat soubory, je použití
:E
nebo
:Ex
pro ex (ořezávání) adresáře souborů. Zde máte interaktivní okno, které vás provede. Jakmile vyberete položku, kterou chcete smazat, použijte
Shift-D
potvrzení pomocí
y return
Takto to vypadá nahoře v mém okně v režimu průzkumníka:
" ============================================================================ " 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 " ============================================================================
Komentáře
-
:E
vedlo kE464: Ambiguous use of user-defined command
, ale:Ex
fungoval dobře.
Odpověď
Dočasné odstranění souboru
:!rm %
%
je aktuálně otevřený soubor
Ctrl + Z , zastaví proces
zkontrolujte pomocí ls
, soubor již není na disku
fg
vrátí soubor na vim
můžete jej uložit pomocí běžných příkazů vim
odpověď
Jak uvádí Yash: existuje mnoho způsoby. Ale ten nejkratší,
:echo delete(@%)
se zobrazí pouze skrytý, pouze na konci Yashova odkazu:
Nerozumím, proč byste používali všechny tyto příkazy a funkce.
Proč ne
:echo delete(filename)
? Nebo chcete-li smazat soubor a vyrovnávací paměť, což se podle mého názoru stává velmi zřídka, můžete napsat:echo delete(@%)
, a pokud bude úspěšný –:bw!
.
S echo
(místo call
) vidíte výsledek přímo, 0 nebo -1.
:!rm %
od @Justin je pravděpodobně stejný, ale je zde přepínač obrazovky a Zpráva „již není k dispozici“ – s delete()
je plynulejší.
Nerozumím, co rm
je filtrování zde …
Celá myšlenka má většinou smysl, pokud chcete řadit spoustu souborů:
vim $(find -size -100c -type f)
Pokud chcete některé z těchto malých souborů smazat / uchovat. :n[ext]
je můžete procházet a mazat přímo . Soubor :echo delete(@%)
by měl být namapován jen dočasně, protože je nebezpečný. Ztratil jsem soubor nápovědy a přejmenoval jiný, zatímco experimentuje s „%“.
:!rm testfile.xml
?vi
není nástroj pro mazání souborů,rm
afind
jsou nástroje pro zálohování.