Przechodzenie przez tekst w trybie wstawiania

321

Czy w trybie wstawiania w Vimie jest jakiś sposób na przewijanie tekstu, przesuwając niektóre znaki do przodu i do tyłu, za pomocą klawiszy strzałek?

Gdybym naciśnij h, j, ki lpodczas gdy w trybie Insert, rzeczywiste znaki są drukowane na ekranie zamiast poruszania się po tekście.

Sposób, w jaki to robię w tej chwili, polega na uciekaniu się do Ctrl+ [( Esc) i przeglądaniu tekstu; ale oczywiście nie jest to produktywne.

Andreas Grech
źródło
Na marginesie: jest to również pomocne, jeśli mapujesz klawisz ucieczki na bliższą kombinację klawiszy (tj. imap jk <Esc>), Abyś nie musiał łamać tempa i sięgać po klawiaturze, aby nacisnąć klawisz.
tsujin,
3
Lubię to ( <ESC>) zamapowane na kjzamiast jk; moja koleżanka Dijkstra jest winna!
Dr Beco,
7
Mam jki kj, więc po prostu naciskam go jak duży przycisk dwoma palcami i nie ma znaczenia kolejność, w której wracam do normy.
Edu Ruiz,

Odpowiedzi:

647

Wygląda na to, że niewłaściwie używasz vima, ale prawdopodobnie wynika to z nieznajomości go.

Właściwy sposób to nacisnąć Esc, przejść tam, gdzie chcesz zrobić małą korektę, naprawić, wrócić i kontynuować edycję. Jest skuteczny, ponieważ Vim ma znacznie więcej ruchów niż zwykle postać do przodu / do tyłu / w górę / w dół. Gdy dowiesz się więcej o nich, stanie się to bardziej produktywne.

Oto kilka przypadków użycia:

  • Przypadkowo wpisałeś „przypadkowo”. Nie ma problemu, sekwencja EscFfrdApoprawi błąd i doprowadzi cię z powrotem do miejsca, w którym edytowałeś. FfRuch będzie poruszać w kierunku do tyłu kursor do znaku raz pierwszy zetknął się „f”. Porównaj to z Ctrl+ DeldEnd, który robi praktycznie to samo w zwykłym edytorze, ale wymaga więcej naciśnięć klawiszy i sprawia, że ​​wyciągasz rękę z alfanumerycznego obszaru klawiatury.
  • Przypadkowo wpisałeś „przypadkowo wpisałeś”, ale chcesz poprawić to „celowo wpisałeś”. Następnie Esc2bcwusunie słowo, które chcesz naprawić, i przejdzie do trybu wstawiania, dzięki czemu możesz od razu je wpisać ponownie. Aby wrócić do edycji, wystarczy nacisnąć Azamiast End, aby nie musieć ruszać ręką, aby dosięgnąć Endklawisza.
  • Przypadkowo wpisałeś „mysz” zamiast „myszy”. Nie ma problemu - stary dobry Ctrl+ wusunie poprzednie słowo bez wychodzenia z trybu wstawiania. I zdarza się, że usunięcie krótkiego słowa jest znacznie szybsze niż naprawienie w nim błędów. Jestem tak przyzwyczajony, że podczas pisania tej wiadomości zamknąłem stronę przeglądarki!
  • Liczba powtórzeń jest w dużej mierze niewykorzystana. Przed wykonaniem ruchu możesz wpisać liczbę; i ruch zostanie powtórzony tyle razy. Na przykład 15hprzywróci kursor o 15 znaków i 4j przesunie kursor o 4 linie w dół. Zacznij ich używać, a wkrótce się przyzwyczaisz. Jeśli popełniłeś błąd dziesięć znaków wstecz od kursora, przekonasz się, że naciśnięcie klawisza 10 razy jest znacznie wolniejsze niż iteracyjne podejście do poruszania kursorem. Możesz zamiast tego szybko wpisać klawisze 12h(w przybliżeniu zgadnij, ile znaków w tył potrzebujesz, aby przesunąć kursor) i natychmiast przejdź dwa razy lldo przodu, aby szybko poprawić błąd.

Ale jeśli nadal chcesz zrobić z przechodzenia małych tekstowych bez wychodzenia z trybu edycji, wykonaj rson „s porady i używać Ctrl+ O. Biorąc pierwszy przykład, o którym wspomniałem powyżej, Ctrl+ OFfprzeniesie Cię do poprzedniej postaci „f” i pozostawi cię w trybie wstawiania.

P Shved
źródło
33
+1 Doskonała odpowiedź i dziękuję za wszystkie podane przykłady!
Andreas Grech,
78
Warto również zauważyć, że można użyć Ctrl+odo wydania pojedynczego polecenia w trybie normalnym. Może to czasami doprowadzić cię tam, gdzie chcesz być, szczególnie w połączeniu z poleceniami ruchu t / T i f / F.
Randy Morris,
6
„Wygląda na to, że niewłaściwie używasz vima, ale prawdopodobnie nie znasz go zbyt dobrze.” jest trochę protekcjonalny. Nie?
David Rivers,
17
To świetny wgląd w to, jak prawidłowo używać Vima. Uważam jednak, że naciśnięcie klawisza „Esc” jest uciążliwe, dlatego uważam, że warto wskazać, że można przypisać do tej funkcji bardziej dostępny klawisz, np. „Imap jj <esc>”.
Symetryczny
25
Aby naprawić literówkę, nie należy wychodzić z trybu wstawiania. Vim jest potężny, ponieważ tworzysz atomowe, powtarzalne akcje. Wstawienie i poprawienie literówki tworzy dwie osobne czynności. Właściwy sposób na poprawienie literówki, aby to zrobić bez wychodzenia z trybu wstawiania. Jeśli to oznacza używanie klawiszy strzałek do nawigacji w tym miejscu, to jest w porządku. Vim ma kilka skrótów klawiszowych do nawigacji w trybie wstawiania. Sprawdzić :h ins-special-keys. ctrl-h: backspace,: ctrl-wusuń słowo ctrl-u,: usuń na początek linii alt-b,: cofnij słowo.
everett1992
151

W trybie wstawiania użyj przycisku, CtrlOaby przejść do trybu normalnego tylko dla jednego polecenia:

CTRL-O h  move cursor left 
CTRL-O l  move cursor right
CTRL-O j  move cursor down
CTRL-O k  move cursor up

co jest prawdopodobnie najprostszym sposobem robienia tego, co chcesz i łatwym do zapamiętania.

Inne bardzo przydatne klawisze sterujące w trybie wstawiania:

CTRL-W    delete word to the left of cursor
CTRL-O D  delete everything to the right of cursor
CTRL-U    delete everything to the left of cursor
CTRL-H    backspace/delete
CTRL-J    insert newline (easier than reaching for the return key)
CTRL-T    indent current line
CTRL-D    un-indent current line

wyeliminują one wiele niepotrzebnych przełączeń z powrotem do trybu normalnego.

Chris Sattinger
źródło
13
Dziękuję Ci. Należy to uznać za prawidłową odpowiedź. To jest naprawdę pomocne.
Atcold
1
Na moim Macu jest to mała litera O, a nie wielka litera O. Czy to różni się od „standardowego vima”? Widzę wiele miejsc, w których wydają się mówić dużymi literami (chyba że to tylko niechlujne pisanie). Czy możesz potwierdzić?
Floris,
Ok bardzo przydatne. Jednak ciekawa kombinacja jest trudna do znalezienia i to jest usunięcie linii. Bardzo niedoceniana rzecz do zrobienia w przypadku naukowego wstawienia linii.
patrik
5
@Floris Vim nie rozróżnia wielkich i małych liter dla kombinacji ctrl. Dlatego nie można zmapować ctrl + shift + coś.
Mahmoud Al-Qudsi,
92

Tryb wstawiania

Ruch

hjkl

Niezależnie od tego, co powiedział Pavel Shved - że prawdopodobnie lepiej jest przyzwyczaić się do Escapingowania trybu Insert - oto przykładowy zestaw map do szybkiej nawigacji w trybie Insert:

" provide hjkl movements in Insert mode via the <Alt> modifier key
inoremap <A-h> <C-o>h
inoremap <A-j> <C-o>j
inoremap <A-k> <C-o>k
inoremap <A-l> <C-o>l

Spowoduje to, że Alt+ hw trybie wstawiania przejdzie o jeden znak w lewo, Alt+ w jdół itd., Analogicznie jak hjklw trybie normalnym.

Musisz skopiować ten kod do pliku vimrc, aby był ładowany przy każdym uruchomieniu vim (możesz go otworzyć, pisząc :new $myvimrczaczynając w trybie normalnym).


Wszelkie ruchy w trybie normalnym

Ponieważ Altklawisz modyfikujący nie jest domyślnie odwzorowany (na coś ważnego), możesz w ten sam sposób przeciągnąć inne (lub wszystkie) funkcje z trybu normalnego do trybu wstawiania. Np .:
Przejście na początek bieżącego słowa za pomocą Alt+ b:

inoremap <A-b> <C-o>b
inoremap <A-w> <C-o>w


(Inne zastosowania Altw trybie wstawiania)

Warto wspomnieć, że użycie Altklucza może być lepsze niż replikacja zachowania w trybie normalnym: np. Oto mapowania do kopiowania z sąsiedniej linii części z bieżącej kolumny do końca linii:

" Insert the rest of the line below the cursor.
" Mnemonic: Elevate characters from below line
inoremap <A-e> 
    \<Esc>
    \jl
        \y$
    \hk
        \p
        \a
" Insert the rest of the line above the cursor.
" Mnemonic:  Y depicts a funnel, through which the above line's characters pour onto the current line.
inoremap <A-y> 
    \<Esc>
    \kl
        \y$
    \hj
        \p
        \a

(Użyłem \ kontynuacji linii i wcięcia w celu zwiększenia przejrzystości - polecenia są interpretowane tak, jakby były zapisane w jednym wierszu).


Wbudowane klawisze skrótów do edycji

CTRL-H   delete the character  in front of the cursor (same as <Backspace>)
CTRL-W   delete the word       in front of the cursor
CTRL-U   delete all characters in front of the cursor (influenced by the 'backspace' option)

(Nie ma żadnych wbudowanych skrótów klawiszowych do poruszania się w trybie wstawiania).

Odniesienie: :help insert-index


Tryb wiersza poleceń

Ten zbiór odwzorowań sprawia górne Alt+ hjkl ruchy dostępne w linii poleceń:

" provide hjkl movements in Command-line mode via the <Alt> modifier key
cnoremap <A-h> <Left>
cnoremap <A-j> <Down>
cnoremap <A-k> <Up>
cnoremap <A-l> <Right>

Alternatywnie, te mapowania dodają ruchy zarówno do trybu Wstawiania, jak i trybu wiersza poleceń za jednym razem:

" provide hjkl movements in Insert mode and Command-line mode via the <Alt> modifier key
noremap! <A-h> <Left>
noremap! <A-j> <Down>
noremap! <A-k> <Up>
noremap! <A-l> <Right>


Polecenia odwzorowywania służące do wyciągania poleceń trybu normalnego do trybu wiersza polecenia wyglądają nieco inaczej niż polecenia odwzorowywania w trybie wstawiania (ponieważ w trybie wiersza poleceń brakuje trybu wstawiania Ctrl+ O):

" Normal mode command(s) go… --v <-- here
cnoremap <expr> <A-h> &cedit. 'h' .'<C-c>'
cnoremap <expr> <A-j> &cedit. 'j' .'<C-c>'
cnoremap <expr> <A-k> &cedit. 'k' .'<C-c>'
cnoremap <expr> <A-l> &cedit. 'l' .'<C-c>'

cnoremap <expr> <A-b> &cedit. 'b' .'<C-c>'
cnoremap <expr> <A-w> &cedit. 'w' .'<C-c>'


Wbudowane klawisze skrótów do przenoszenia i edycji

CTRL-B       cursor to beginning of command-line
CTRL-E       cursor to end       of command-line

CTRL-F       opens the command-line window (unless a different key is specified in 'cedit')

CTRL-H       delete the character  in front of the cursor (same as <Backspace>)
CTRL-W       delete the word       in front of the cursor
CTRL-U       delete all characters in front of the cursor

CTRL-P       recall previous command-line from history (that matches pattern in front of the cursor)
CTRL-N       recall next     command-line from history (that matches pattern in front of the cursor)
<Up>         recall previous command-line from history (that matches pattern in front of the cursor)
<Down>       recall next     command-line from history (that matches pattern in front of the cursor)
<S-Up>       recall previous command-line from history
<S-Down>     recall next     command-line from history
<PageUp>     recall previous command-line from history
<PageDown>   recall next     command-line from history

<S-Left>     cursor one word left
<C-Left>     cursor one word left
<S-Right>    cursor one word right
<C-Right>    cursor one word right

<LeftMouse>  cursor at mouse click

Odniesienie: :help ex-edit-index

Aaron Thoma
źródło
@YugalJindle: Dzięki! :) Dodałem teraz informacje o ulepszaniu trybu wiersza poleceń. (Podejście to nieco różni się od trybu wstawiania).
Aaron Thoma
@Zen: Co rozumiesz przez „winkey”? W odpowiedzi nie wspomniałem o kluczu Windows. Masz na myśli Altklucz?
Aaron Thoma,
Shift - w lewo / w prawo, aby przenieść całe słowo !! Jak mogłem tego nie wiedzieć. Dziękuję Ci.
Floris,
właściwie w trybie terminalowym alt automatycznie wysyła esc przed twoimi poleceniami ........
Fuseteam 30.08.19
26

Jeśli jesteś vim purystą, pomiń czytanie tej odpowiedzi. OTOH, jeśli jesteś nowy w vimie i szukasz kilku pomocnych wskazówek, których nie znajdziesz w setkach samouczków i blogów vim, czytaj dalej ... :-)

Kilka nieortodoksyjnych (vim) sposobów

Jest rok 2014 i jako osoba, która niedawno wróciła do vim, mogę zaoferować kilka, potencjalnie sprzecznych, punktów widzenia i wskazówek.

Użyj Shift + Lewo lub Shift + Prawo, aby przechodzić między słowami

Podczas gdy powtarzanie jest potężnym pojęciem w vimie, osobiście uważam za dziwne, że użycie go zmusza mnie do liczenia (wierszy, znaków, słów itp.) Lub zgadywania. Mój mózg zwykle działa jak „Chcę kursor tam ”, a nie jak „Chcę kursor _5_words_to_the_left_”. Szybka możliwość przesuwania kursora i wizualna obserwacja miejsca wstawienia w ten sposób pozwala mi skupić się na tym, co edytuję, zamiast liczyć, ile przeskoków muszę zrobić, aby przejść do miejsca, w którym muszę edytować.

Włącz tryb myszy, użyj kółka myszy i kliknij

... do nawigacji po dużych fragmentach tekstu.

Większość (wszystkich) nowoczesnych komputerów ma touchpad ściśle zintegrowany z klawiaturą (np. MacBooki). Projektanci przemysłowi spędzili wiele lat, optymalizując te projekty, aby stary problem związany z odsuwaniem dłoni od klawiatury nie był już problemem. Okej, jeśli jesteś przyzwyczajony do myszy i nie lubisz się przełączać, ale dla każdego, kto jest w stanie vim (jak ci, którzy mogą znaleźć ten post podczas wyszukiwania), nie powinno to stanowić większego problemu.

Jako bonus, kliknięcie + przeciągnięcie wprowadza cię w tryb wizualny

Po włączeniu myszy klikanie i przeciąganie powoduje przejście do trybu wizualnego i oznaczenie regionu do zerwania.

I użyj kółka przewijania

Używanie myszy (kółka) do przewijania i klikanie w celu ustawienia kursora (duh) po prostu działa. Więcej informacji na ten temat można znaleźć na stronie http://usevim.com/2012/05/16/mouse/ .

A więc...

Są to, co nazwałbym bardziej nowoczesne (za pomocą myszy, kółka do przewijania itp.) Sposoby nawigacji w vimie, równie skuteczne w zależności od preferencji użytkownika.

HTH

Shyam Habarakada
źródło
6
@MilesRout tak, miałem zastrzeżenie. Ale z całą powagą, sądzę, że istnieje spora część użytkowników vima, których mózgi działają tak samo jak moje. To znaczy ... mój mózg zwykle działa jak „Chcę kursor tam”, a nie jak „Chcę kursor 5_words_to_the_left ”. A konwencjonalny sposób vima nie działa tak dobrze dla tych ludzi. Uwielbiam vima, ponieważ a) jest dostępny wszędzie i b) ma potężne funkcje. Nie odczuwam jednak potrzeby dostosowania się do wszystkich domyślnych mechanizmów.
Shyam Habarakada
4
@MilesRout W vimie jest wiele religii, więc nie będę z tobą debatował. Metoda liczenia powtórzeń nie pomaga mi, a zaakceptowana odpowiedź nazywa ją również jako coś bardzo niewykorzystanego. Mogę tylko zgadnąć, dlaczego tak jest. Używanie w, b itp. Do nawigowania w pobliskich miejscach jest świetne, ale jeśli idziemy dalej, kółko myszy działa dla mnie znacznie lepiej. Twoje zdrowie.
Shyam Habarakada
4
+1. Nie rozumiem tego w głosowaniu. Istnieje wyłączenie odpowiedzialności. Weź to, jeśli ci się podoba, a jeśli nie, pomiń.
fangmobile.com
To bardzo pomocna odpowiedź
Slava
1
Jako osoba, która niedawno przeniosła się do VIM, uważam, że ta odpowiedź jest absolutnie trafna. Zdolność do natychmiastowego podania liczby powtórzeń niezbędnych do ustawienia kursora w danym miejscu może, ale nie musi, być czymś, co zawiera doświadczenie. W tej chwili, podobnie jak @ShyamHabarakada, mój mózg po prostu tak nie działa. Niezależnie od tego, jak niekonwencjonalne może być, osobiście ponownie przypisałem klawisze fn + hjkl do klawiszy strzałek, aby wykonać bardzo małe ruchy. W przypadku dużych ruchów zwykle przybliżam liczbę powtórzeń, a następnie dostosowuję je. Dla mnie to tak szybko, jak tylko mogę.
Jacoscaz,
14

Wiele osób w społeczności Vima twierdzi, że nie należy nawigować w trybie wstawiania, że ​​nie jest to sposób Vima. Myślę, że jest to błędne zdanie na temat przejścia ze standardowych edytorów do Vima.

Vim jest najsilniejszy, gdy używasz swoich narzędzi do tworzenia atomowych, powtarzalnych akcji lub znalezisk.

Poruszanie się w trybie wstawiania jest prawidłowe, jeśli naprawiasz błąd popełniony w tej samej sesji wstawiania. Nie należy nawigować poza zakresem zmodyfikowanego tekstu.

Jeśli popełnisz błąd podczas wpisywania tekstu i wyjdziesz z trybu wstawiania, aby go naprawić, nie będziesz w stanie powtórzyć zamierzonej czynności, .powtórzy poprawkę.

Vim obsługuje wiele klawiszy nawigacyjnych w trybie wstawiania. Oczywiście są klawisze strzałek, Strona główna i Koniec, ale jest też wiele innych skrótów. Zobaczyć :h ins-special-keys.

everett1992
źródło
4

W GVimie możesz używać myszy. Ale szczerze mówiąc, co jest złego w korzystaniu z klawiszy strzałek? Jest powód, dla którego są na klawiaturze.

Erich Kitzmueller
źródło
9
ale ten powód nie jest pokrywany z użytkownikami vim. Jedną z głównych zalet vima jest to, że możesz robić różne rzeczy bez kosztownego czasu odrywania rąk od domowego rzędu klawiatury. W szczególności ruchy hjkl.
Aaron Thoma,
1
Zgadzam się z @ammoQ. Nic złego w korzystaniu z klawiszy strzałek. Jeśli użycie klawiszy strzałek zapewnia większą wydajność, skorzystaj z niej.
Eunwoo Song
wyróżnienie: Używam hjkl częściej niż klawiszy strzałek podczas używania vi, ale przełączanie między trybami stało się dla mnie podświadomą akcją.
Erich Kitzmueller
4

Aby mieć nieco lepszą nawigację w trybie wstawiania, dlaczego nie zmapować niektórych klawiszy?

imap <C-b> <Left>
imap <C-f> <Right>
imap <C-e> <End>
imap <C-a> <Home>
" <C-a> is used to repeat last entered text. Override it, if its not needed

Jeśli potrafisz obejść działanie Meta-Key w swoim terminalu, możesz jeszcze bardziej wyśmiewać tryb emacs. Nawigacja w trybie normalnym jest znacznie lepsza, ale w przypadku krótszych ruchów pomaga pozostać w trybie wstawiania.

W przypadku dłuższych skoków wolę następujące domyślne tłumaczenie:

<Meta-b>    maps to     <Esc><C-left>

Powoduje to przejście do trybu normalnego i cofnięcie słowa

Alex
źródło
2

Wierzę Homei End(i PageUp/ PageDn) również działam normalnie w trybie wstawiania, ale poza tym nie sądzę, że istnieją inne standardowe klawisze zdefiniowane dla przejścia tekstu.

Bursztyn
źródło
ale możliwe, że nie ma sposobu na przemierzanie tekstu przy użyciu tylko klawiszy liter?
Andreas Grech
5
Z pewnością jest, jeśli nie chcesz mieć możliwości wpisywania niektórych liter ...;)
hobbs
@hobbs Co powiesz na ctrl + hjkl? To powinno mieć sens
user4052054
1

Przepraszamy, ale vim nie działa w ten sposób.

Powinieneś przełączyć się do trybu „normalnego”, nawigować, a następnie wrócić, aby wstawić ponownie.

Johan
źródło
1

Możesz tworzyć odwzorowania działające w trybie wstawiania. Można to zrobić za pomocą inoremap. Zwróć uwagę na „i” na początku polecenia (noremap jest przydatny, aby uniknąć kolizji mapy kluczy). Następstwem jest „n” dla trybu „normalnego”. Możesz przypuszczać, co vim uważa za „normalny”;)

JEDNAK naprawdę chcesz nawigować w tekście za pomocą trybu „normalnego”. Vim jest super w tego rodzaju rzeczach i cała ta moc jest dostępna w trybie normalnym. Vim już zapewnia łatwe sposoby przejścia z trybu normalnego do trybu wstawiania (np. I, I, a, A, o, O). Sztuką jest ułatwienie przejścia do trybu normalnego. Sposobem na to jest ponowne mapowanie ucieczki na bardziej pewny klucz. Ale potrzebujesz takiego, który nie będzie kolidował z twoim regularnym pisaniem. Używam:

inoremap jj <Esc>

Ponieważ jj (to 2 j jest szybko wpisywane jeden po drugim) wydaje się, że nie pojawia się w moim słowniku. Inne przemapują do wygodnego miejsca.

Inną istotną zmianą, którą wprowadzam, jest przełączanie klawiszy CAPSLOCK i CONTROL na klawiaturze (używając konfiguracji klawiatury komputera hosta), ponieważ prawie nigdy nie używam CAPSLOCK i ma ten duży, piękny przycisk dokładnie tam, gdzie chcę. (Jest to typowe dla użytkowników Emacsa. Minusem jest to, że znajdziesz się na „nie naprawionej” klawiaturze! Aaarggh!)

Po ponownym przypisaniu CAPSLOCK można wygodnie użyć następujących zmian mapowania w trybie wstawiania:

Pamiętając, że niektóre klucze są już zmapowane w trybie wstawiania (domyślnie słowo-zabójstwo to Cw (Control-w), możesz już mieć powiązania, które chcesz. To powiedziawszy, wolę Ch, więc w moim .vimrc mam :

inoremap <C-h> <C-w>

ALE prawdopodobnie chcesz tego samego skurczu pamięci mięśni w trybie normalnym, więc mapuję też Ch:

nnoremap <C-h> db

(d) elete (b) ackwards dokonuje tego samego za pomocą tego samego akordu klawiszowego. Ten rodzaj szybkiej edycji jest przydatny w praktyce w przypadku literówek. Ale trzymaj się normalnego trybu, aby poruszać się po tekście i cokolwiek więcej niż zabić poprzednie słowo. Gdy nauczysz się zmieniać tryby (używając oczywiście remapu), będzie to o wiele bardziej wydajne niż remapowanie trybu wstawiania.

pfries
źródło
niezły remap na ucieczkę - myślę, że będzie działał na prawie wszystko oprócz transliterowanego języka arabskiego!
jjt
0

Możesz użyć imapdo mapowania dowolnego klawisza w trybie wstawiania na jeden z klawiszy kursora. Tak jak:

imap h <Left>

Teraz h działa jak w trybie normalnym, przesuwając kursor. (Mapowanie hw ten sposób jest oczywiście złym wyborem)

Powiedziawszy, że nie sądzę, aby standardowy sposób poruszania się w tekście za pomocą VIM był „nieproduktywny”. Istnieje wiele bardzo skutecznych sposobów przechodzenia przez tekst w trybie normalnym (np. Za pomocą w i b, lub / i? Lub f i F itp.)

Peter van der Heijden
źródło
1
Nie powiedziałem, że standardowy sposób poruszania się po tekście w vimie nie jest produktywny; to, co powiedziałem, to to, że nieco „denerwujące” było wyjście z trybu wstawiania, aby cofnąć się o kilka znaków, a następnie ponowne wstawienie; ale z drugiej strony, może dlatego, że jeszcze nie przywykłem do vim :)
Andreas Grech
To było rozwiązanie, którego szukałem. Używam imap <Ch> <Left> (wiem, że usuwa znak, ale mam backspace), i to wszystko, czego potrzebuję, dzięki.
user4052054
0

Dla niektórych często używanych ruchów i akcji zdefiniowałem następujące mapowania. Oszczędza to naciśnięcie klawisza w porównaniu z kombinacją CTRL + O, a ponieważ potrzebuję ich często, opłacają się na dłuższą metę.

inoremap <A-$> <C-o>$
inoremap <A-^> <C-o>^
inoremap <A-h> <Left>
inoremap <A-l> <Right>
inoremap <A-O> <C-O>O
inoremap <A-o> <C-o>o
Alexander van Trijffel
źródło