Pokoušel jsem se zkopírovat něco z vimu do jiné aplikace a také z této aplikace do vim
pomocí klikněte pravým tlačítkem myši a poté zkopírujte a vložte (nebo pomocí Ctrl + v a Ctrl + c a také vyzkoušejte verze Command pro mac OSX, samozřejmě.). Když to však zkusím, zkopíruje první slovo pouze tehdy, když to udělám z vim
nebo když zkopíruji z aplikace do vim
, zkopíruje vše, ale vloží podivné karty a mezery. Myslím, že se to stalo, když jsem se rozhodl zapnout myš v terminálu. Stejně jako v:
:set mouse=a
Mám tento řádek v mém .vimrc
souboru na iTermu (Mac OS X). Je však možné, aby se moje kopie vložila do jiných aplikací, které nejsou v vim
, aby se nerozbily se zapnutou mouse=a
? Nebo je alespoň možné vypnout myš, když provádím kopírování? Udělal jsem :help
myš, ale komentáře pro mě nebyly užitečné. Vložil bych je sem, ale … můj nástroj pro kopírování a vložení je nefunkční!
Zkusil jsem :set mouse!
a :set mouse=a!
ale to neudělalo nic užitečného … 🙁
Další informace o mém prostředí:
Většinu času však používám i tmux, ale tuto chybu jsem testoval / chyba bez relace tmux, proto jsem to zveřejnil hlavně jako otázku vim.
Komentáře
Odpovědět
mouse=a
brání možnosti kopírování a vkládání z vim s čitelnými znaky.
Změnit mouse=a
do mouse=r
a to by s tím mělo vyřešit váš problém.
Jedna věc, kterou mě zajímá, je, měníte konfigurační soubor pro svůj vim s myší nastavenou na mouse = a?
původní odpověď ^
Pokud mouse=r
neposkytuje vám všechny možnosti kopírování v minulosti, změňte to na mouse=v
Oba mouse=r
a mouse=v
mají stejné funkce, jaké potřebujete, ale v závislosti na vimrc, který používáte, bude fungovat lépe než ten druhý.
Komentáře
- také jste se pokusili zvýraznit text a použít prostřední tlačítko myši k vložení na jiné místo, které má snazší funkci při pokusech o Ctrl + v a Ctrl + c
- Nevím ‚ nevím, co znamená tvoje otázka:
one thing I am wondering is, are you changing the config file for your vim with the mouse set to mouse=a?
Myslíš, když mám:mouse=a
zapnuto v mém souboru .vimrc? Mám:mouse=a
v mém souboru .vimrc. - jen
--with-x=yes
? Nemusím uvádět:set --with-x=yes mouse=a
nebo něco ing? Mohli byste objasnit, co máte na mysli? - Dovolte mi prozkoumat, zda potřebujete kombinovat
--with-x=yes
doset mouse=a
. Když jsem to četl, viděl jsem jen to, že to bylo samo v konfiguračním souboru. Může to ale být jinak, takže se chci ujistit, že vám řeknu správnou věc, která pro vás bude fungovat. - Děkuji mnohokrát, tento návrh funguje jako kouzlo s myší = v
Odpověď
Pro uživatele OS X: Chcete-li kopírovat a vložit pomocí mouse=a
použijte alt místo Shift pro výběr textu. Potom cmd-c a cmd-v fungují podle očekávání.
Tuto odpověď najdete zde https://stackoverflow.com/a/4608387/671639 po mnoha procházkách.
Komentáře
- Jsi Bůh … …: ‚)
- jediná věc, která pro mě fungovala, díky!
- Pro mě na OSX funguje “ fn “ místo “ shift “ nebo “ alt „.
- Nastavení
mouse=v
pro mě fungovalo s přímýmcmd + c
Odpověď
Z https://stackoverflow.com/questions/4608161/copy-text-out-of-vim-with-set-mouse-a-enabled/4608387
Při výběru myší stiskněte klávesu „shift“. Díky tomu se bude výběr myši chovat, jako by mouse = a nebyl povolen.
Toto funguje a bylo ověřeno recenzenty přetečení zásobníku, kteří to přijali jako odpověď 🙂
Odpověď
Měl stejný problém: pomocí myši nelze zvýraznit, takže nelze kopírovat a vkládat z VIM v relaci terminálu do dokumentu a prohlížeče Windows: následující a nyní to funguje:
: set clipboard=unnamedplus : set mouse=r
Odpověď
Bharathovo řešení , stisknutí klávesy Shift během kopírování to udělá, ale zkopíruje více než to, co byste chtěli kopírovat v případě číslování nebo hash komentáře.
Jedním ze způsobů, jak toho dosáhnout, i když mouse = a je použít vizuální režim stisknutím klávesy V pro jeden kurzor nebo Shift + V pro zvýraznění celého řádku a můžete se pohybovat nahoru nebo dolů pomocí šipek a používat Y zkopírovat nebo D oříznout a th by mělo fungovat.
Komentáře
- @Anthon, udělám, děkuji za vysvětlení.
- Přeformuloval jsem vaše vlastní vyslovený komentář, aby to vypadalo spíše jako odpověď, takže mody to pravděpodobně nechají tak, jak jsou (a můžete si tím získat nějakou reputaci, abyste mohli komentovat). Pokud by byl originál menší opravou, bylo by vhodnější komentovat.
Odpovědět
Odkaz: http://vimdoc.sourceforge.net/htmldoc/options.html
Podívejte se na sekci Poznámka v dolní části odkazu:
Když povolením myši lze tlačítka myši stále používat podržením stisknuté klávesy Shift. To zahrnuje kopírování a vkládání pomocí tlačítek myši.
*"mouse"* *E538* "mouse" string (default "", "a" for GUI, MS-DOS and Win32) global {not in Vi} Enable the use of the mouse. Only works for certain terminals (xterm, MS-DOS, Win32 |win32-mouse|, QNX pterm, *BSD console with sysmouse and Linux console with gpm). For using the mouse in the GUI, see |gui-mouse|. The mouse can be enabled for different modes: n Normal mode v Visual mode i Insert mode c Command-line mode h all previous modes when editing a help file a all previous modes r for |hit-enter| and |more-prompt| prompt Normally you would enable the mouse in all four modes with: :set mouse=a When the mouse is not enabled, the GUI will still use the mouse for modeless selection. This doesn"t move the text cursor. See |mouse-using|. Also see |"clipboard"|. Note: When enabling the mouse in a terminal, copy/paste will use the "* register if there is access to an X-server. The xterm handling of the mouse buttons can still be used by keeping the shift key pressed. Also see the "clipboard" option.
Komentáře
- Děkujeme za přispění tímto odkazem, ale , odpovídá na otázku ? Pokud ano, můžete určit část nabídky, která tak činí, a uvést souhrn skutečné odpovědi?
Odpovědět
Na mém počítači Mac pomohly tyto dvě věci:
- : set mouse- = a
- fn + kliknutí (místo shift nebo alt)
Odpověď
Tyto dva řádky níže použijte v ~/.vimrc
k použití všechny pěkné funkce gui-mouse
a vložení do systémové schránky pomocí y
(klíč), pokud opravdu nepotřebujete žádné další vyrovnávací paměti schránky :
set mouse=a set clipboard=unnamed
Odpověď
Můžete použít y zkopírovat (vytrhnout) a p vložit i při :set mouse=a
nastaveném v ~/.vimrc
. Použijte v + arrow keys
pro zvýraznění textu. Chcete-li rychle zkopírovat celý řádek, použijte shift + y .
Odpověď
Jako f nebo druhá část vaší otázky, kde jste zadali, že při vkládání z jiných aplikací do vim přidává karty / mezery. Zkuste to přidat do sady ~ / .vimrc set paste nebo do vim před vložením v normálním režimu stiskněte „shift“ + „:“ a zadejte „set paste“
Odpovědět
Je třeba přidat dvě věci:
- Mnohokrát mějte na paměti, že
set mouse=v
nebude fungovat podle očekávání v závislosti na jiné direktivy, které jste nastavili před nebo po v.vimrc
souboru, záleží také na tom, ze kterého terminálu používáte vim; - Doporučil bych ponechat
mouse=a
takže máte současně aktivovaný veškerý režim myši a pomocí triku navrženého společností @BHS zvýrazníte text, zatímco v případě, že potřebujete zvýrazněný text vložit pomocí prostřední myši, stiskněte klávesu Shift tlačítko ( Kopírování textu mimo Vim sset mouse=a
povoleným ).
y
. Nevím ‚ nevím proč byste to ‚ prostě nepoužili.