:imap
Введите , чтобы отобразить список отображений режима вставки.
Мой вопрос: если создать дополнительные пользовательские операторы,
движения, команды и сопоставить их с клавишами, что является лучшим способом добавить
их, чтобы они не конфликтовали с существующими привязками?
На мой взгляд, лучший способ - создать собственные команды, они начинаются с прописных букв, а собственные - строчными.
<Ч />
Кроме того, вы можете использовать <leader>
Я использую , Некоторое использование \ .
например. :let mapleader = ","
затем вы можете использовать лидер, чтобы объединить его с другими клавишами, такими как , p для вызова команды, родной или пользовательской, см. Ниже:
:map <leader>p :MyCustomCommand<CR>
Пример пользовательского движения. Удалить третье слово после курсора.
nnoremap <leader>x :normal 2wdw<CR>
<Ч />
Несколько команд могут использоваться для создания новых , удаления и списка отображений , вот список режимов работы, начиная с :help map-overview
Normal Visual+Select Operator-pending ~
:map :noremap :unmap :mapclear yes yes yes
:nmap :nnoremap :nunmap :nmapclear yes - -
:vmap :vnoremap :vunmap :vmapclear - yes -
:omap :onoremap :ounmap :omapclear - - yes
дополнительная информация
:help map
<Ч />
Вот пример функции, преобразованной в пользовательскую команду
function! MoveLastLines(f)
exe '$-9,$w ' . a:f "write last ten lines to the passed filename
$-9,$d "delete last ten lines
endfunction
command! -nargs=1 -range MoveTo :call MoveLastLines(<f-args>)
Теперь обе строки ниже эквивалентны
:call MoveLastLines('newFile.txt')
:MoveTo newFile.txt