У vim, як змусити ліву та праву клавіші зі стрілками змінювати лінію?


25

У vim мої клавіші зі стрілками працюють правильно, рухаючись вгору, вниз, вліво та вправо, як очікувалося, за одним винятком. На початку рядка ліва стрілка нічого не робить, замість того, щоб перейти до останнього символу попереднього рядка. В кінці рядка права стрілка нічого не робить, замість того, щоб перейти до першого символу наступного рядка.

Чи можна змінити налаштування, щоб отримати поведінку, яку я очікував?


4
Я думаю, що більшість користувачів VIM рекомендують не використовувати клавіші зі стрілками.
користувач12612

@ user12612 чому саме?
luchonacho

@luchonacho Я думаю, ідея полягає в тому, що серйозні користувачі VIM вважають, що пальці не повинні залишати домашній рядок вашої клавіатури, щоб орієнтуватися там, де ви знаходитесь у своєму тексті.
nohat

Відповіді:


26

Після деякого подальшого гуглінгу я знайшов відповідь - використовувати whichwrapваріант.

Я додав наступний рядок до свого .vimrc:

set whichwrap+=<,>,[,]

Параметри <та та >вмикають потрібний параметр для звичайного режиму [та ]включають потрібний параметр для режиму вставки.


1
(Чому це не було налаштуванням за замовчуванням у моїй системі, є загадкою)
nohat

Це, мабуть, не впливає на поведінку h j k lклавіш.
Себастьян Гріньолі

Правильно, існують інші значення для h і j. Перегляньте :help 'whichwrap'або vimhelp.appspot.com/options.txt.html#%27whichwrap%27 . k і я насправді не застосовуються, оскільки ми говоримо про поведінку ліво / право на початку / в кінці рядків.
Адам Монсен


0

Це поведінка за замовчуванням - ви завжди можете використовувати "Домашній" та "Кінець", щоб перейти до початку та кінця рядка.


5
ОП хоче змінити поведінку за замовчуванням. Ось чому він (і) запитав тут в першу чергу.
акіра

0

Ви можете подолати це, використовуючи w і b, які будуть обгортати рядки.


Але b приймає вас першим символом останнього слова попереднього рядка. Чи справді немає можливості змусити стрілку ліворуч перейти до останнього символу попереднього рядка, коли у першого символу рядка?
nohat

Так, я знаю, це не справжнє рішення.
hasen
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.