it-swarm-eu.dev

Odstranit z kurzoru na konec řádku v `vi`

Vím, že jsem to asi milionkrát prohlédl ve všech vi dokumentech, které jsem četl, ale nemůžu najít odstranění z kurzoru na konec řádku.

334
Falmarri

Příkaz dw smaže z aktuální pozice kurzoru na začátek dalšího znaku Word. Příkaz d$ (poznámka: jedná se o znak dolaru, nikoliv „S“) se smaže z aktuální pozice kurzoru na konec aktuálního řádku. D je synonymem pro d$.

499
Tok

Jak již uvedli ostatní: můžete použít d$ nebo D (shift-d) pro smazání od pozice kurzoru až do konce řádku.

Obvykle je pro mě užitečnější c$ nebo C (shift-c), protože se odstraní z pozice kurzoru až do konce řádku a vás uvede do režimu [VLOŽIT].

54
Brad Johnson

Jednou z pěkných věcí o vi je její logická struktura příkazů. d následovaný příkazem --- d odstraní cíl tohoto pohybu. $ se přesune na konec řádku (mnemonic: jako v regexps). Tak d$ vymaže na konec řádku. Podobně se e přesune na e nd aktuálního Slova a w se přesune na začátek dalšího w ord; takže de odstraní konec aktuálního Wordu a dw dodatečně odstraní následující mezeru.

Pravděpodobně budete chtít použít D. Přesuňte kurzor na první znak, který chcete odstranit, a stiskněte Shift-D. Všechno pryč. Ve skutečnosti je ve výchozím řezném bufferu, takže ho můžete P nebo p vložit zpět.

Používám Dp (odstranit na konec řádku, pak ho vrátit zpět), přesunout na konec jiného řádku, pak znovu p vložit stejný text na konec tohoto druhého řádku. Funguje zázraky v konfiguračních souborech, kde musíte umístit komplikovanou adresu URL na dvě nebo více míst.

21
Bruce Ediger

Chcete-li odstranit řadu řádků po umístění kurzoru, 3D bude smazán od kurzoru až do konce řádku, stejně jako další dva řádky úplně (tj. odstraní 3 řádky po umístění kurzoru).

např. pro následující text (kurzor reprezentovaný jako |),

If there's a cursor |in the line
here
we
go

Pomocí příkazu 3D bude výstup:

If there's a cursor
go
1
Nick Bull

Myslím, že by se mohla hodit zkratka režimu vkládání.

V režimu vkládání by mohlo být lepší začít měnit až do konce řádku (dejte to na svůj ~/.vimrc):

inoremap <C-l> <C-o>C

Takže, jak už bylo řečeno, D v normálním režimu a Ctrl+l v režimu vkládání. Jak vidíte, máte také C to se začne měnit až do konce řádku.

<C-o> ......... insert normal keystroke in insert mode

Vybral jsem si Ctrl-l protože l je pod vašimi prsty. Ctrl-k se již používá k vložení digrafů.

Prohledával jsem :h i_Ctrl pro některé zdarma keybindings, a to je vlastně větší problém, pokud jde o vytváření nových zkratek pro provádění akcí v vim.

1
SergioAraujo