VIM Super Fast Navigation
Единственное, что я скучаю по поводу использования других редакторов, - это найти мое место с помощью мыши. Я могу смотреть своими глазами на определенную область в файле и с движением мыши и одним щелчком мыши. С VIM я должен jjjjjkkkkkkjjjhhhh... почти там hhhhh ой дерьмо я пропустил 3 символа, lll.
Я учусь делать отметки, и я нашел плагин для закладок, который отличен, я могу создавать маркеры и уничтожать их с помощью <f3>
и переходить к ним, к сожалению, метки забываются, когда файл закрыт.
Как вы все супер просматриваете файлы? Я знаю, что я мог бы также делать 5j7k4j5h и т.д., Но должен быть плагин, который может читать мои глаза и помещать курсор там, где он мне действительно нужен.
Я также научился использовать /% для поиска определенного термина. Это помогает, но все соответствующие символы выделяются из документа.
Ответы
Ответ 1
Попробуйте $ vimtutor
, он научит вас всему, что вам нужно знать, чтобы начать.
hjkl
являются верхушкой айсберга и очень редко используются, по крайней мере, в моем случае.
wWEe
и BbgegE
все позволяют перемещаться по слову:
-
w
и e
идти вперед, w
и e
учитывать пробелы и пунктуации
" here the * marks the default location of the cursor
" and each letter shows where you jump when you hit the key.
Latin: Lorem ipsum dolor sit amet.
* e e e
* E E E
* w w w w w w w
* W W W W W W
-
b
и ge
идти назад, b
и ge
учитывать пробелы и пунктуации
Latin: Lorem ipsum dolor sit amet.
b b b b *
B B B *
ge ge ge*
ge
gE gE gE*
fFtT
используются для достижения определенного символа на текущей строке и ;,
используются для повторения этого движения в том же направлении для ;
и в обратном направлении для ,
:
-
fm
переходит в следующий m
вперед, F
идет назад
Latin: Lorem ipsum dolor sit amet.
* fm ; ;
; Fm *
-
tm
переходит к следующему m
вперед, T
идет назад
Latin: Lorem ipsum dolor sit amet.
* tm ; ;
; Tm *
/?
используются для перехода к первому вхождению шаблона из текущей позиции курсора:
0$
используются для перехода к первому и последнему символу строки.
(whitespace)Latin: Lorem ipsum dolor sit amet.(whitespace)
0 * $
^g_
используются для перехода к первому и последнему печатаемому символу строки.
(whitespace)Latin: Lorem ipsum dolor sit amet.(whitespace)
^ * g_
Одиночный и комбинированный ()[]{}
используются для перемещения фразы по фразе или абзаца или кода блоком кода.
<C-b>
и <C-f>
используются для прокрутки по экрану назад и вперед.
<C-u>
и <C-d>
используются для прокрутки по полуэкрану назад и вперед.
H
, m
и L
переместите курсор в верхнюю, среднюю и нижнюю части окна просмотра соответственно.
zt
, zz
и zb
переместите строку под курсором в верхнюю, среднюю, нижнюю части окна просмотра соответственно.
И так далее.
:help motion.txt
ударит ваш ум.
Ответ 2
Помимо команды vim motion, я нахожу плагин vim с именем EasyMotion довольно полезно перемещаться, если вы знакомы с vimperator или pentadactyl, EasyMotion просто вернет режим подсказки обратно в vim. здесь - это анимированная демонстрация и здесь - это видео руководство. Надеюсь, что это будет полезно для вас.
Ответ 3
Есть два миллиона способов передвижения в vim, это одна из его действительно сильных областей. Я много использую { и }, которые перемещаются вверх и вниз до следующей пустой строки в этом направлении. % полезен для перемещения вперед и назад в подходящую скобку (любого типа). W и B перемещаться вперед и назад по слову.
Возможно, стоит рассмотреть раздел Перемещение" руководства Vim.
Ответ 4
У vim есть поддержка мыши!
попробуйте (в вашем .vimrc):
set mouse=a
sidenote: как пользователь экрана, я обнаружил, что мне также нужно
set ttymouse=xterm2
для этого.
Ответ 5
лично я предпочитаю использовать:
"/<chars><enter>" to quickly move to somewhere ( extremely fast! trust me! )
":<number>" to go to some line,
"ctrl + f/b" to forward/back
"g;" to move to the last editing place.
"w/b" to move by word
"jklh" to move your cursor to the exact position
Ответ 6
С опцией relativenumber
(: help relativenumber - в комплекте с Vim 7.3) вы можете добраться до линии под глазами с помощью [count]k
или [count]j
, которые вы можете перемещать в текущей строке с движениями, такими как ftweb
, как объясняется @romainl.
Ответ 7
Помимо {
, }
, (
, )
, <number>cb
, <number>cb
, <number>cW
и %
, я использую такие навигационные методы:
-
ciw
, diw
(ciw
, diw
). и т.д. для быстрого редактирования/удаления слова под курсором (включая символы без пробела).
-
ci(
, ci"
(ca(
, ca"
) и т.д., чтобы быстро редактировать внутри круглых скобок, цитаты (включая круглые скобки, кавычки). То же самое относится к d
.
- Знаки с буквами CAPITAL, чтобы установить их глобально (через файлы) и настойчиво (когда буфер закрыт). Например,
mA
создаст глобальную метку A
, которая будет доступна с помощью команды 'A
(или `A
для оценки столбца).
-
gf
быстро перейти к файлу под курсором
-
f
, t
(f
, t
), чтобы перейти к char, перед char вправо (слева) (используйте ;
для повтора). Они особенно полезны для команд d
и c
(используйте .
для повтора).
-
^]
, чтобы перейти к тегу и ^T
, чтобы вернуться назад.
И многие другие способы перемещения:)
Проверьте это для получения дополнительной информации: http://www.thegeekstuff.com/2009/03/8-essential-vim-editor-navigation-fundamentals/
P.S. Для пользователей rails есть очень полезный плагин rails-vim, вы также можете проверить его.
Ответ 8
это является хорошим местом для изучения основных навигационных команд, часть мощности/скорости vim происходит от сочетания движения с действием т.е. cw
→ изменить слово, d10j
→ удалить 10 строк вниз и т.д. Также this и это являются интересными чтениями.
Ответ 9
Вы можете :set nohlsearch
отключить подсветку ваших символов поиска.
Я также использую ctags.