Автор Тема: Vim: автозамена при вставке или одной командой нескольких символов или слов  (Прочитано 2123 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Евгений

  • Местный житель
  • ***
  • Topic Author
  • Сообщений: 189
  • t.me/evgenykabanov
    • https://t.me/EvgenyKabanov
Приветствую участников!

Изучение Vim постепенно продвигается. Сейчас на повестке дня вопрос:

Как настроить vim таким образом, что бы при вставке некоторого количества символов или слов из буфера эти символы или слова сразу же заменялись на другие? Например, русские буквы на латинские, или некоторые слова на другие, причём сразу все, не по одному слову.

Если вышеуказанный вариант невозможен, есть ли возможность заранее подготовить какие-то таблицы автозамены и выполнить массовую автозамену некоей командой; в bash можно "натравить" на файл скрипт и он заменит, но может быть есть какие-то встроенные механизмы у Vim?

Сообщение объединено: 31 Июль 2013, 18:12:50
Нашёл решение. За основу взял эту статью: http://www.ibm.com/developerworks/ru/library/l-vim-script-1.

Краткий вывод такой: для организации массовой автозамены нужно создавать файл с расширением .vim и прописывать полный путь к нему в .vimrc.

В файле пишем команды типа:

%s/старый символ или слово/новый символ или слово/g

и так по всем символам, которые надо заменить.

В .vimrc прописываем комбинацию клавиш для выполнения массовой автозамены:

:nmap <нужная комбинация клавиш> :source /полный/путь к файлу с /расширением.vim<CR>

Тогда после копирования в файл нужного текста применяем вышеуказанную комбинацию клавиш и автозамена происходит одномоментно.

Вопрос закрыт, спасибо за внимание (но дополнения приветствуются)!
« Последнее редактирование: 31 Июль 2013, 18:12:50 от Евгений »
 


Оффлайн Punkoivan

  • Новичок форума
  • Сообщений: 2
Понимаю - некропостинг, но по поиску vim автозамена страница в топе, поэтому:

Поковыряв ман я нашёл другой, более простой способ автозамены и кроется он в команде
:iabЭта команда используется для подстановки аббревиатур, но какая разница? =)

Поэтому, в ~/.vimrc добавляем строки:

:iab исходное новое
часть моего конфига:

:iab енжинкс Nginx
:iab мыло e-mail
:iab хомяк home
:iab рут root

Всё! теперь без всяких хоткеев на лету работает автозамена. Работает также если текст скопипастить.

Если нужно добавить новое слово (а пока словарь наберётся такая возможность будет нужна) просто в терминале:
echo ":iab text replaced_text" >> ~/.vimrc
 

Оффлайн Евгений

  • Местный житель
  • ***
  • Topic Author
  • Сообщений: 189
  • t.me/evgenykabanov
    • https://t.me/EvgenyKabanov
Спасибо, попробую! Хотя сейчас перешёл на medit - мне достаточно.
 

Теги:
 

Какая кодировка используется в xterm при вводе символов с жатым Alt?

Автор brizzz

Ответов: 0
Просмотров: 1592
Последний ответ 05 Ноябрь 2011, 01:38:07
от brizzz
Помогите, затёр пароль командой Usermod

Автор AlkisTer

Ответов: 14
Просмотров: 2574
Последний ответ 19 Ноябрь 2013, 09:06:40
от ogost
Открыть терминал из меню с командой и интерактивным дополнением

Автор sx88

Ответов: 1
Просмотров: 773
Последний ответ 04 Март 2018, 11:15:21
от moreplavatel
Чем писать диски параллельно на нескольких приводах?

Автор PbI6A

Ответов: 7
Просмотров: 2323
Последний ответ 09 Апрель 2013, 18:53:25
от PbI6A
Окно при вставке в Calc LibreOffice

Автор evg77

Ответов: 1
Просмотров: 864
Последний ответ 16 Декабрь 2016, 14:44:05
от ogost