2012-07-25 15 views
8

Jak zmienić tekst na alt+backspace, aby usunąć takie słowa, jak natywna manipulacja tekstem * NIX? Sprawdziłem ten wątek: Using alt+backspace key in vim command line to delete by wordsalt + backspace do usuwania słów w vim

I przykłady takie jak: cmap <a-bs> <c-w> i :imap <A-BS> <C-W> nic nie rób. A zaakceptowana odpowiedź nie miała nawet na celu remapowania, ale używania ctrl+w. Ponieważ VIM's alt+backspace nic nie robi, wolałbym zmienić go w coś, do czego jestem przyzwyczajony.

używam terminala oparte VIM (konkretnie w iTerm)

+3

Pierwszym krokiem jest sprawdzenie, co terminal robi z kombinacją klawiszy. Rozpocznij vim, przejdź do trybu wstawiania, wpisz Ctrl-V, a następnie backspace, następnie inny Ctrl-V, a następnie Alt-backspace. Jeśli wydrukuje to samo dla obu, nie masz szczęścia. W przeciwnym razie polecenie map powinno działać, jeśli wpiszesz Ctrl-V Alt-Backspace w komendzie ': map' zamiast' '. –

+1

Tryb wizualny, następnie Backspace podświetla 1 znak. Tryb wizualny następnie "alt + backspace" wychodzi z trybu wizualnego, więc nie robią tego samego. Ponadto nie chcę być w trybie wizualnym, aby zrobić "alt + backspace". To pokonuje łatwość usuwania, której szukałem (np. 'Dd'), więc co teraz? –

+0

Nie chciałem również, abyś był w trybie wizualnym. Ctrl-V w trybie wstawiania nie powinien wchodzić w tryb wizualny. Musisz mieć dziwne odwzorowanie (': imap ') lub nie byłeś w trybie wstawiania kiedy to zrobiłeś. –

Odpowiedz

3

Alt/Meta klucz jest problematyczne w vim i większość terminali, zobacz this answer of mine na przegląd sytuacji (sytuacja jest taka sama dla Meta i Alt).

W skrócie, Vim w ogóle nie otrzymuje numeru Alt: naciśnięcie klawisza Alt+Backspace jest dokładnie takie samo, jak naciśnięcie klawisza Backspace.

W dłuższej perspektywie lepiej będzie, jeśli nauczysz się i przyzwyczaisz do domyślnych mapowań klawiszy Vima.

+0

Już jestem, ale tak jak w przypadku wszystkich niestandardowych mapowań, jest to łatwiejsze, inaczej nie byłoby sposobu na tworzenie niestandardowych mapowań i przesłonięć :) –

+0

Tak i nie. Widzę niestandardowe mapowania jako sposoby zwiększenia Vima, głównie. W każdym razie klawisz Alt nie istnieje dla Vima, więc będziesz musiał znaleźć inne mapowanie (które pokona twój cel) lub przyzwyczaić się do ''. – romainl

+0

Jestem przyzwyczajony do tego, że go używam, to po prostu niezręczne umieszczenie palca na laptopie Mac. –

0

Jeśli używasz OSX, macvim używa standardowych klawiszy, więc naciśnięcie Alt+Backspace usunie całe słowo. To samo dotyczy nawigacji między słowami z Alt+RightArrow i Alt+LeftArrow.

0

na MacOS z iTerm2, mam klucze opcji mapowane do + ESC (jak wiele osób) i uważam, że naciśnięcie Option + Backspace faktycznie został zinterpretowany przez vim jako Ucieczka prasie następnie przez Backspace naciśnij, więc następujące wiązanie działało idealnie dla mnie; Polecam wypróbowanie, nawet jeśli twoja konfiguracja jest inna niż moja, na wszelki wypadek, gdyby ci to pasowało!

:imap <Esc><BS> <C-w> 
Powiązane problemy