Backspacing za pomocą vima


2

Zdaję sobie sprawę, że „polecenie” do wymazania litery to x, ale jeśli poważnie wymazujesz jak 3-5 liter, czy naprawdę jest to naprawdę przydatne ESC + hhhhh + xxxxx?

Czy w vim jest jakiś powód, dla którego nie możemy użyć backspace?


Backspace działa dobrze dla mnie.
Ignacio Vazquez-Abrams

To zależy od kontekstu, bez dodatkowych informacji Esc + 4Xx zrobiłoby to samo. Jeśli podasz przykład tekstu, być może zobaczymy, czy istnieje krótszy sposób.
Raimondi

Czy jest to pytanie o to, jaki jest sens polecenia x, czy o to, jak rzeczywiście używać klawisza backspace w vim?
NReilingh

Odpowiedzi:


5

Ponieważ twoja sekwencja pisania zaczyna się od <Esc> Zakładam, że jesteś w środku wstawić tryb, prawda? Jeśli tak, możesz wpisać <C-w> aby usunąć słowo po lewej stronie kursora bez wychodzenia wstawić tryb.

Uderzenie <bs> pracuje w wstawić tryb dla pojedynczych znaków, nie ma realnej potrzeby, aby się z niego wydostać, jeśli wystarczy usunąć kilka wpisanych znaków.

x jest „poleceniem” wymazującym literę normalna tryb, ale działa tylko sam ( x ) lub z licznikiem ( 5x ), to samo dla X. Istnieje wiele sytuacji, w których musisz działać na całe słowo lub dwa, lub co między parą nawiasów, lub do określonego wzorca do przodu, lub do momentu dołączenia określonej litery do tyłu ... W takich sytuacjach powinieneś użyć d w połączeniu z ruchami.


A potem jest „& lt; C-o & gt;” w wstawić tryb, który umożliwia wprowadzenie pojedynczego normalna polecenie trybu bez opuszczania.
Magnus

2

W trybie poleceń klawisz Backspace służy do przesuwania kursora w lewo. Jeśli chcesz go używać zgodnie z oczekiwaniami, użyj następującego polecenia w trybie poleceń:

:nnoremap <bs> X  

Dodaj go do swojego .vimrc plik, jeśli chcesz zmienić na stałe.



-1

Możesz użyć mapowania, które zasugerował Sachin Shekhar lub zrobić to „w sposób Vi”, ale moim zdaniem jest lepszy sposób

The backspace ustawienie kontroluje działanie klawisza Backspace. Umieszczenie tego w .vimrc sprawia, że ​​klawisz Backspace działa tak, jak oczekuje większość

set backspace=indent,eol,start

Robić :h 'backspace po więcej informacji.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.