Jak mohu dosáhnout toho, aby se gVim v systému Windows choval jako v systému Linux?

Jsem častým uživatelem editoru Vim v systému Linux a nyní jej chci používat v systému Windows.

Stáhl jsem si Vim pro Windows, který je shodou okolností gVim. Několik funkcí Vim nefunguje v gVim 7.4, jako je vizuální blok, příkaz rx a několik dalších kombinací kláves.

Chci stejný / originální Vim od Linux pro použití ve Windows. Je tato verze k dispozici i pro Windows? Nebo mohu použít nastavení podobné formátu Unixu?

Komentáře

  • Vyzkoušejte Vim z tuxproject.de/projects/vim/x64
  • Zkontrolujte také _vimrc soubor pro řádek, který říká něco jako source $VIMRUNTIME/mswin.vim. Tento soubor umožňuje, aby spousta konfiguračních položek byla přátelská k MSWindows (včetně mnoha mapování).
  • Používám gvim denně v systému Windows, jak grafické uživatelské rozhraní gvim, tak i negrafický vim přes konzolu cmder. Také jsem byl frustrovaný, dokud jsem nevypnul konfigurační soubor mswin.vim a udělal několik dalších vylepšení. Jednoduše jsem odstranil soubor _vimrc, který byl nainstalován program a zkopíroval můj Linux .vimrc přes Windows, pak šel odtud.
  • Další začátek To se o tom zmiňovali, ale nikdo ‚ s to vlastně neřekl přímo: vizuální blok ve Windows Vim funguje dobře. Stačí deaktivovat “ klávesové vazby “ přátelské pro Windows, které přepíší ctrl-v kombinace kláves s mapováním vložení. Je ‚ možné (pravděpodobné?), Že vaše další problémy s Windows Vim pocházejí ze stejného problému, i když ‚ nezmiňujete, co všichni jsou tak ‚ těžko říci na jistotu.
  • OOTB gvim ve Windows funguje stejně jako v Linuxu (různá výchozí nastavení pro několik možností) . Musíte to mít nakonfigurované jinak.

Odpovědět

Když musím pracovat na Windows (což je častěji) než bych chtěl), používám Cygwin k získání terminálu o něco méně mizerného než původní příkazový řádek Windows. Cygwin poskytuje prostředí, které se snaží být blízko konzole Bash se standardními příkazy Linuxu, a samozřejmě to není zdaleka bezchybné.

Podívejte se na projekt stránka společnosti Cygwin. Během instalace „skončíte v okně, které vám umožní vybrat si, které balíčky chcete nainstalovat. Vyhledávací lišta vám umožní vyhledat balíčky k instalaci, mimo jiné užitečné věci (například git , tmux, curl, wget atd.) můžete zadat vim a vyberte balíčky jako vim, vim-common, vim-doc , gvim. Tím se nainstaluje editor Vim, který se blíží tomu, na co jste v Linuxu zvyklí.

Jakmile je vše nainstalováno (což může někdy být trochu long) budete moci spustit Cygwin, který zobrazí terminál, a budete moci spustit Vim jako obvykle a používat svůj Linux .vimrc a obvyklého správce pluginů. Hlavní nevýhodou je kompatibilita barev, které je často nutné vylepšit a stále vypadat mizerně.

Poznámka že používám Cygwin ze zvyku, ale existují i jiná řešení (například cmder ). Žádný z nich není bezchybný, takže možná budete chtít vyzkoušet několik a najít si své oblíbené.

Také si všimněte že mintty je dobrý způsob, jak udělat Cygwin o něco méně mizerným.

Komentáře

  • Má několik problémů. Nezobrazuje správně

znaky unicode. Některé vícebajtové znaky jsou skryty.

  • Ano, ‚ právě proto jsem uvedl, že “ Žádný z nich jsou bezchybné „: zatím jsou Cygwin (a jejich ekvivalenty) pouze řešením. ‚ Nejsem expert na Windows, ale možná nová spolupráce mezi Canonical a Microsoft povede k lepším alternativám.
  • Používám babun v těchto dnech, i když si myslím, že základní cygwin není tak čerstvý jako instalace vanilky.
  • Od Windows 10 a zejména od dalších aktualizací, které přidal (zvlnění, openssh, správné přetečení textu, podpora 24bitových barev), že přímá výzva systému DOS je nyní lepší. Vykreslení písma ve výzvách systému DOS / PowerShell je obvykle to nejlepší, co jsem pro aplikace terminálu Windows ‚ viděl. Navíc pokud nainstalujete Git pro Windows, který obsahuje téměř všechny nástroje příkazového řádku linuxu, které potřebujete, přidejte na svou cestu C:\Program Files\Git\usr\bin nebo podobně.
  • Odpověď

    Od aktualizace Windows 10 Anniversary Update můžete použít Bash na terminálu Ubuntu a spusťte podsystém Linux, kde můžete apt install cokoli, na co jste zvyklí v Ubuntu. Váš souborový systém Windows je připojen, takže můžete k úpravě souborů použijte Vim uvnitř shellu.

    Komentáře

    • Mějte na paměti, že ‚ re stále přistupuji k Vimu přes konzolu Windows, což je velmi omezené barvami a zvýrazňováním syntaxe. I přes aktualizaci tvůrců, která má přinést 256 barev na konzoli, se mi ‚ nepodařilo vylepšit zvýraznění syntaxe.
    • @ icc97 Nepamatuji si přesně, co jsem udělal (‚ t dobře rozumím barvám a terminálům), ale podařilo se mi získat barvy, které vypadají dobře na vim, a vyřešit problém s textem modro-černý, který se objevil i n výstup na terminálu ubuntu. Nyní je to ‚ trochu barevné, ale funguje to dobře. Také s Xming gVim funguje v Ubuntu na Windows (právě jsem testoval rozhraní a zkusil jsem ukládat soubory atd.).
    • @Formagella I ‚ trochu nitpicker s mými barvami. Strávil jsem hodiny pokusem o to, aby solární barvy fungovaly na podobném standardu Linuxu Vim – napsal jsem některé z toho, co jsem udělal v tomto čísle . GVim má však v systému Windows velmi dokonalé zvýraznění syntaxe (a tučné / kurzíva), takže jsem přestal bojovat a prostě jsem to použil. Vzhledem k tomu, že ‚ jste v dos výzvě, je zvýraznění syntaxe OK skvělé a je to ‚ velmi užitečné pro relace SSH, ale pro úpravy na plný úvazek jsem se vzdal.
    • Nyní je k dispozici ‚ verze Mintty působit jako terminál pro Bash na Ubuntu pro Windows a implementace Solarized navržené pro Mintty. Udělal jsem to právě teď a byla to relativně bezbolestná zkušenost!
    • @Formagella I ‚ jsem konečně dostal barvy správně fungující v konzole Windows, trvalo to oprava ve Vimu . Ale od Vim 8.1 + a 24-bit colourscheme můžete získat krásné barvy v prosté výzvě systému DOS a výzvě WSL. Mám samostatnou odpověď , která experimentuje s různými barevnými schématy konzoly Windows a funguje pár.

    Odpověď

    Jak uvedli Roflo a Rich ve svém komentáři zde a zde , váš problém s nemožností použít vizuální blok (nejsem si jistý, co je rx příkaz) je ten, že vimrc ($VIM\_vimrc) sources $VIMRUNTIME\mswin.vim který definuje mapování ve stylu Windows jako Ctrl + v pro vložit, Ctrl + c pro kopírování, Ctrl + x pro vyjmutí.

    nejjednodušší způsob, jak to obejít, je vytvořit _vimrc soubory ve svém domovském adresáři (Všimněte si, že Windows verze vim používá _vimrc místo .vimrc). Jak vidíte v :h vimrc, vim hledá vimrc v několika lokalitách a použije pouze první, který najde, zatímco ostatní ignoruje. Ten v domovském adresáři je vždy prohledán / použit jako první.

    Minimální kroky:

    • otevřete gvim nebo vim
    • :e ~/_vimrc
    • :w

    odpověď

    V systému DOS můžete získat čistý Vim!

    Windows 10 pro verzi 1803 se stala další poměrně malou, ale neméně významnou aktualizací. Přidali 24bitovou podporu pro konzolu (výzva cmd / powershell). Ve Vim 8.1 ( https://www.vim.org//download.php/#pc ) přidali podporu for termguicolors což znamená, že můžete získat plnou podporu 24bitových barev uvnitř konzoly Vim. Nedávno jsem zveřejnil odpověď, jak fungovat podpora barev .

    Ale to znamená, že pro běh Vimu je do značné míry plná podpora. ve výzvě systému DOS – takže k tomu, aby fungoval čistý Vim, nemusíte instalovat žádný podsystém Linux ani jiné závislosti nad rámec samotného Vimu. Zdá se mi to stále poněkud pomalé, ale je skvělé vidět pokrok.

    Fonty a barvy se ve Vimu nádherně vykreslují (kliknutím na tento snímek obrazovky jej zobrazíte správně):

    zadejte popis obrázku zde

    Věci, které fungují v konzole Vim (ve Windows 10 build 1803+):

    • Letecká společnost s fonty Powerline
    • 24bitový colortheme (např. vim-solarized8, tender)
    • Skoro jakýkoli plugin (např.jakýkoli plugin Tim Pope, FZF a Ripgrep)
    • vimdiff
    • Okno konzoly správně zapadne a text plyne správně – to je lepší zpracováno než GVim

    Věci, které nefungují / problémy:

    • Je to pomalejší než GVim
    • tučné písmo / kurzíva
    • znaků UTF-8 je omezený počet – např některé výchozí ikony leteckých společností se nezobrazí

    Napsat komentář

    Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *