2

Я хотел бы отобразить удаление строки в vim на Alt-k а не на значение по умолчанию для dd (как это делается в Emacs или где-то подобное) и поместить отображение в .vimrc

Я борюсь как новичок с Vim. Самым близким, что я мог найти в Google, было определение сопоставления в сеансе с :map - dd но это не то, что мне нужно из-за ключа и того факта, что синтаксис немного отличается для .vimrc сравнению с интерактивными командами.

Что я должен положить в мой .vimrc чтобы достичь этого?

2 ответа2

0

Я предполагаю, что вы хотите это в обычном режиме. Попробуй это:

:nnoremap <m-k> dd

Вы можете поместить эту строку в ваш ~/.vimrc именно так, как она выглядит.

Если вы также хотите, чтобы он работал в режиме вставки:

:inoremap <m-k> <c-o>dd

Изменить: К сожалению, похоже, это работает только в gVim, и не было найдено решение, кроме выбора другой комбинации клавиш для консоли Vim.

0

Если у меня работает, если я использую следующий обходной путь:

" Fix for M-letter bindings
let c='a'
while c <= 'z'
  exec "set <A-".c.">=\e".c
  exec "imap \e".c." <A-".c.">"
  let c = nr2char(1+char2nr(c))
endw
set timeout ttimeoutlen=50

map <M-k> dd

Спасибо за этот ответ для поиска обходного пути:

https://stackoverflow.com/questions/6778961/alt-key-shortcuts-not-working-on-gnome-terminal-with-vim

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .