it-swarm-eu.dev

Jak zobrazit skryté postavy v vim?

Jak mohu nakonfigurovat vim, aby zobrazoval pouze skryté znaky, jako jsou karty nebo mezery, když jsou tyto znaky psány? Při zápisu souboru nechci karty ani mezeru nahrazovat speciálními znaky, jako například „>“ nebo „_“.

63
dan0

Můžete použít příkazy

:set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
:set list

zobrazit všechny znaky, které nejsou mezery. Prostory jsou tedy jedinou věcí, která se neobjeví.

Pokud absolutně potřebujete označit také mezery, musíte zkusit něco méně Nice. Něco jako

:%s/ /█/g

Nahradí všechny mezery znakem bloku. Pak byste to měli před zrušením zrušit. Mohli byste přemapovat příkaz pro zápis

cmap :w :%s/█/ /g<CR>:w

Jen návrh. Přesto jsem to nezkusil.

73
Kris Harper

Novější verze vimu mohou také zobrazovat mezery. (Potvrzeno na vim 7.4.1689).

:set list
:set listchars=tab:→\ ,space:·,nbsp:␣,trail:•,eol:¶,precedes:«,extends:»
21
wisbucky

V mém případě jsem musel bojovat nbsp ,

:set listchars=nbsp:☠,tab:▸␣
:set list

Můžete také použít ␣ místo ☠

Zde je příklad, kde výše uvedená konfigurace vim zvýrazňuje mezery „neviditelného podivného“ a navíc zvýrazňuje karty (červená barva, protože používám koncový-whitespace vim plugin)

Here

6
Andrey Arapov