2014-11-07 3 views

ответ

6

После колонки ч подсвечена и так как вы только хотите заменить д с ч сделать это: Нажмите на «R» ключ для замены, а затем нажмите клавишу «h», которую вы хотите использовать вместо этого.

1
  1. Визуально выберите строки:

    vjj 
    
  2. Выполните замену (визуальный ряд, '<,'>, автоматически вставляется Vim после нажатия :):

    :'<,'>s/td/th/g 
    
1

Поскольку вы специально хотите использовать визуальный блок, просто сделайте rh после того, как вы выбрали столбец с помощью ctrl + v и движения. Если вы хотите изменить «d» на несколько букв, сделайте s<letters><esc>

1

Плагин Tim Pope's surround может быть очень удобен в таких ситуациях. Для того, чтобы изменить окружающий тег вы делаете следующее:

с сек т < т ч > возвратного

Вы не можете использовать команду ., чтобы повторить это (если у вас установлен reapeat.vim) или используйте макрос. например qqcst<th>^M^[email protected]. Однако я считаю, что при выборе линии с V и с помощью команды :normal быть лучшим способом:

:norm cst<th> 

Примечание: если вы используете визуальный выбор диапазона '<,'> будет введена в при нажатии :.

1

Это не использует встроенные методы, но только потому, что вы знаете, есть большой плагин под названием vim-multiple-cursors, который я бы использовал для этого (если не просто: s). Он предназначен для имитации функции множественного курсора Sublime Text, позволяющей сразу же заменять или редактировать многие разделы кода. Я бы это проверил. Пригодится. Было бы особенно полезно в этом случае, если бы у вас были «d» внутри тегов или даже «td»; или худший случай, вы только хотели заменить верхнюю строку и нижнюю строку на th (вероятно, не в этом примере, но вы можете легко представить ситуацию, а :[range]s/<pattern>/<replace>/gc ДЕЙСТВИТЕЛЬНО утомительно .... и, на мой взгляд, легко ввернуть .

Смежные вопросы